내가 임의의 소금을 생성 한 다음 사용자 데이터베이스에서 암호와 함께 그것을 저장할. 이렇게 나는 이렇게 생각합니다.
$salt = //random salt code
$hpassword = crypt($password,$salt)
내가 임의의 소금을 생성 한 다음 사용자 데이터베이스에서 암호와 함께 그것을 저장할. 이렇게 나는 이렇게 생각합니다.
$salt = //random salt code
$hpassword = crypt($password,$salt)
기존 입력란 (예 : 사용자 이름)을 해싱하여 소금에 사용하십시오.
여기보십시오 : PHP 5.5이 내장 것이다 http://en.wikipedia.org/wiki/PBKDF2
버전 지원 BCrypt를 들어, 기능 password_hash()
및 password_verify()
. PHP 버전 5.3.7 이상의 경우, 거기에 compatibility pack 존재, 거기 당신이 기능 mcrypt_create_iv()
를 사용하여 소금을 만드는 방법의 좋은 구현을 찾을 수 있습니다, 당신을 라인 (86)과이 때문에 호환 기능 팩의
(121)를 참조 직접 작성하는 대신이 함수를 직접 사용하는 것을 고려해야합니다. 여기서 example을 찾을 수 있습니다. 특히 BCrypt의 소금 생성은 까다 롭고 많은 실수를 야기 할 수 있습니다.
P. 결정적인 컴퓨터에서는 고유 한 및 을 예측할 수 없기 때문에 가능한 한 무작위로 소금을 사용해야합니다 (운영 체제의 무작위 소스에서 읽음). 은 예측할 수 없습니다.
'crypt'는 소금 값에 대해 매우 특정한 요구 사항을 가지고 있습니다. 어떤 종류의 해싱을 사용 하시겠습니까? –
내가 추측하기에 bcrypt가 최고라고 들었어? –