기존 암호화 방법:
md5(비밀번호 + 솔트 값)
$passwordString='your password';//你的密码 $salt="your salt value";//盐值,增加复杂度(随机字串) $md5Password=md5($passwordString.$salt);
이론적으로 md5는 되돌릴 수 없으며 비교적 안전한 암호화 방법으로 간주됩니다. 하지만 md5는 이미 2004년에 중국에 의해 크랙되었다는 사실을 상기시키고 싶습니다. 누군가가 데이터베이스를 드래그하면 비밀번호 유출 가능성이 매우 높습니다.
이제 새로운 처리 방법을 권장합니다:
비밀번호 해싱 알고리즘 기능
password_get_info — 지정된 해시(해시)와 관련된 정보를 반환합니다.
password_hash — 비밀번호의 해시(해시)를 생성합니다.
password_needs_rehash — 주어진 해시가 주어진 옵션과 일치하는지 확인합니다.
password_verify — 비밀번호가 해시와 일치하는지 확인합니다.
PHP5.5는 커널과 함께 제공되며 확장 설치가 필요하지 않은 비밀번호 해싱 기능을 도입합니다. . PHP5.4에서 테스트가 가능합니다. 사용하기 전에 현재 환경이 이러한 기능을 지원하는지 확인하는 것이 가장 좋습니다.
비밀번호 해싱은 주로 4가지 기능을 제공합니다.
//查看哈希值的相关信息 array password_get_info (string $hash) //创建hash密码 string password_hash(string $password , integer $algo [, array $options ]) //判断hash密码是否特定选项、算法所创建 boolean password_needs_rehash (string $hash , integer $algo [, array $options ] boolean password_verify (string $password , string $hash) //验证密码
코드 데모:
$password = 'password123456';//原始密码 //使用BCRYPT算法加密密码 $hash_password = password_hash($password, PASSWORD_BCRYPT); if (password_verify($password , $hash_password)){ echo "密码匹配"; }else{ echo "密码错误"; }
중요 기능:
password_hash로 암호화된 비밀번호는 생성되는 비밀번호가 매번 다르기 때문에 사전 방법을 사용하여 해독하기 어렵습니다. 이 암호화는 무차별 대입을 통해서만 해독될 수 있습니다.
최종 알림:
아무리 암호화 방식이 좋아도 원래 비밀번호를 너무 단순하게 설정하면 쉽게 해독될 수 있습니다.
위 내용은 [해시 비밀번호] PHP는 md5보다 안전한 암호화 방법입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!