openssl - 소금 제한이 있습니까?

openssl - 소금 제한이 있습니까?

다른 기사를 읽으면 소금을 사용하는 예는 다음과 같습니다.

openssl passwd -crypt -salt foo bar
foXrpAKGo3142

하지만 소금으로 대체하면

openssl passwd -crypt -salt foo111 bar, I still get
foXrpAKGo3142

솔트 길이에 제한이 있나요? 2캐릭터인 것 같습니다.

감사해요!

답변1

알고리즘 에 따라 crypt염분 제한12비트입니다. 다른 알고리즘은 더 긴 솔트를 지원하므로 또는 를 openssl passwd사용해야 합니다 .-5-6

당신은 또한 볼 수 있습니다비밀번호를 해시하는 데 사용되는 해싱 알고리즘을 찾는 방법은 무엇입니까?

답변2

-crypt이 알고리즘은 openssl passwd레거시 알고리즘이므로 더 이상 사용해서는 안 됩니다.적당한 비용으로 무차별 공격이 가능합니다.. 이것은기존 DES 기반 crypt()비밀번호 해싱 알고리즘이 시간은유닉스 7판1979. 솔트는 인쇄 가능한 ASCII 문자 2개로 제한되고 비밀번호는 인쇄 가능한 ASCII 문자 8개로 제한됩니다. 역사적 목적이나 극도로 오래된(그리고 안전하지 않은) 시스템을 제외하고는 실제 가치가 없습니다.

코드 예제에서 이를 사용하는 사람은 자신이 말하는 내용을 모르거나 좋은 조언을 제공하는 데 관심이 없습니다. openssl passwd -crypt예제에서 아주 오래된 레거시 사용법 이외의 내용을 발견 하면 도망가세요.

비밀번호 해싱의 경우 다음을 선호하는 순서대로 사용하십시오.

OpenSSL은 Unix 알고리즘만 구현합니다( 32비트 시스템과 64비트 시스템 에서는 약간 더 빠릅니다 openssl passwd -5) openssl passwd -6.-5-6

이 중 어느 것도 (오늘날 기준으로) 터무니없는 양의 소금을 사용하지 않습니다.

당신은 또한 볼 수 있습니다2018년에 비밀번호 저장에 권장되는 해시(bcrypt, scrypt, Argon2)는 무엇입니까?그리고비밀번호를 안전하게 해시하는 방법은 무엇입니까?.

관련 정보