> 백엔드 개발 > PHP 튜토리얼 > [해시 비밀번호] PHP는 md5보다 안전한 암호화 방법입니다.

[해시 비밀번호] PHP는 md5보다 안전한 암호화 방법입니다.

藏色散人
풀어 주다: 2023-04-07 11:22:01
앞으로
4732명이 탐색했습니다.

기존 암호화 방법:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿