2y 대신 bcrypt 2a 돌연변이 해시를 생성하는 방법은 무엇입니까?

2y 대신 bcrypt 2a 돌연변이 해시를 생성하는 방법은 무엇입니까?

내 Linux 컴퓨터에서는 htpassword를 사용하여 명령줄에서 bcrypt 해시를 생성할 수 있습니다.

htpasswd -bnBC 10 "" password | tr -d ':\n'

그러나 "$2y$"를 생성하지만 "$2a$"(bcrypt 2a)가 필요합니다. 어떻게 구현할 수 있나요?

답변1

사용 사례를 언급하지 않았지만 일반적으로 최신 htpasswd 구현인 경우 $2y$를 사용하여 변형을 태그하는 경우에도 $2a$ 호환 해시(널 종료, UTF-8 인코딩)를 생성합니다.

즉, 2y를 2a로 바꾸면 작동합니다.

이 StackOverflow 답변더 자세하게:

2a, 2x, 2y, 2b 사이에는 차이가 없습니다. 구현을 올바르게 작성하면 모두 동일한 결과가 출력됩니다.

모든 현대 이전 변형은 OpenBSD와 PHP 모두에서 버그가 있는 구현에서 비롯됩니다 crypt_blowfish. 최신 플랫폼을 사용하는 경우 이제 해시 형식을 상호 교환할 수 있습니다.

현대 이전(결함이 있는) 해시를 생성해야 하는 경우 결함을 수정하는 현대 이전 구현을 찾아야 합니다.

관련 정보