회사의 해싱 구현을 보고 있는데 루트 사용자의 비밀번호가 base64로 인코딩되어 저장되어 있는 것을 확인했습니다. 누군가가 단순히 비밀번호를 복사하고 base64 -d하는 것을 어떻게 막나요? 아니면 다른 Base64 암호로 동일한 작업을 수행한 사람이 있나요?
여기서 뭔가 빠졌나요?
답변1
해시는 인코딩이 아니라 되돌릴 수 없는 수학적 변환입니다. 원래 값을 찾기 위해 해시를 취하고 계산을 반대로 할 수는 없습니다. 해시가 일치하는지 확인하기 위해 비밀번호를 시도하고 해시하여 해시를 무차별 대입하려고 시도할 수 있습니다.
비밀번호는 일반적으로 Base64로 인코딩된 솔트 처리된 비밀번호 해시로 저장됩니다. 해시 부분은 비밀번호를 복구할 수 없게 만듭니다(솔트 부분은 미리 생성된 해시 목록이 쓸모없다는 것을 의미합니다). 이상적으로는 해시 자체가 긴 계산을 사용하므로 무차별 대입이 더 비쌉니다. (사용자가 제공한 비밀번호가 유효한지 확인하기 위해 해시만 실행하면 되므로 명목상의 경우 해싱 비용은 신경 쓰지 않습니다.) .
자세한 내용은 다음을 참조하세요.비밀번호를 안전하게 해시하는 방법은 무엇입니까?