PHP 암호화: 비밀번호 해싱 API
PHP 5.5 이후에는 해시된 비밀번호를 생성하고 확인하기 위해 비밀번호 해싱 API가 도입되었습니다. 이 API는 커널과 함께 제공되며 확장 설치 및 구성이 필요하지 않습니다. 주로 네 가지 기능을 제공합니다:
● 비밀번호 해시(): 비밀번호 해시 생성
● 비밀번호 확인(): 비밀번호가 해시와 일치하는지 확인합니다. 🎜🎜#
●password_needs_rehash(): 주어진 해시가 주어진 옵션과 일치하는지 확인합니다. ●password_get_info(): 지정된 해시에 대한 관련 정보를 반환합니다. 1,password_hash(string 비밀번호, int algo [, 배열 옵션])
password_hash(string password, int algo [, array options])
使用足够强度的单向散列算法生成密码的哈希。此函数兼容 crypt(),即由 crypt() 生成的哈希值可以使用 Password hashing API 的相关函数进行校验。
● password:用户密码。
● algo:密码算法常量。取值包括:
● PASSWORD_DEFAULT:使用 bcrypt 算法。最终生成的结果可能超过 60 个字符;
● PASSWORD_BCRYPT:使用 CRYPT_BLOWFISH 算法创建哈希。最终结果是 60 个字符的字符串,或在失败时返回 FALSE。
● salt:手动提供哈希密码的盐值。省略此项时,函数会为每个密码哈希自动生成随机的盐值。PHP 7.0 已废弃该项;
● cost:代表算法使用的 cost。默认值是 10,可根据实际情况增加。
2、password_verify(string password, string hash)
● password:用户提供的密码。
● hash:由 password_hash() 创建的哈希散列值。 如果匹配则返回 TRUE,否则返回 FALSE。时序攻击对此函数不起作用。
3、password_needs_rehash(string hash, integer algo [, array opitons])
● hash:由 password_hash() 生成的哈希;
● algo:密码算法常量;
● options:包含有关选项的关联数组。
4、password_get_info(string hash) hash
비밀번호를 생성하려면 충분히 강력한 단방향 해시 알고리즘을 사용하세요. 해시시. 이 함수는 crypt()와 호환됩니다. 즉, crypt()에서 생성된 해시 값은 Password hashing API의 관련 함수를 사용하여 확인할 수 있습니다.
● 비밀번호: 사용자 비밀번호입니다.
● algo: 암호화 알고리즘 상수입니다. 값은 다음과 같습니다:
● PASSWORD_DEFAULT: bcrypt 알고리즘을 사용합니다. 최종 생성된 결과는 60자보다 길 수 있습니다.
● PASSWORD_BCRYPT: 해시를 생성하려면 CRYPT_BLOWFISH 알고리즘을 사용하세요. 최종 결과는 60자 문자열이거나 실패 시 FALSE입니다.
● 소금: 해시된 비밀번호에 소금 값을 수동으로 제공합니다. 생략하면 함수는 각 비밀번호 해시에 대해 임의의 솔트 값을 자동으로 생성합니다. 이 항목은 PHP 7.0에서 폐기되었습니다. ● 비용: 알고리즘에서 사용되는 비용을 나타냅니다. 기본값은 10이며 실제 상황에 따라 늘릴 수 있습니다.
#🎜🎜#2.password_verify(문자열 비밀번호, 문자열 해시)
#🎜🎜##🎜🎜#● 비밀번호: 사용자가 제공한 비밀번호입니다. #🎜🎜##🎜🎜#● 해시:password_hash()에 의해 생성된 해시 값입니다. 일치하는 항목이 있으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 이 함수에서는 타이밍 공격이 작동하지 않습니다. #🎜🎜##🎜🎜#3, password_needs_rehash(string hash, 정수 algo [, array opitons])
#🎜🎜##🎜🎜#● 해시:password_hash()에 의해 생성된 해시; 🎜🎜##🎜🎜#● algo: 암호화 알고리즘 상수 #🎜🎜##🎜🎜#● 옵션: 관련 옵션을 포함하는 연관 배열. #🎜🎜##🎜🎜#4. password_get_info(string hash) hash
:password_hash()에 의해 생성된 해시입니다. 세 가지 요소를 포함하는 연관 배열을 반환합니다: #🎜🎜##🎜🎜#● algo: 암호화 알고리즘 상수 #🎜🎜##🎜🎜#● algoName: 알고리즘 이름 #🎜🎜##🎜🎜#● 옵션: 제공됨 Password_hash()를 호출할 때. #🎜🎜##🎜🎜#Example#🎜🎜#$str = 'chicken,run!'; $pwd1 = password_hash($str, PASSWORD_BCRYPT); $pwd2 = crypt($str); var_dump(password_verify('chicken,run!', $pwd1)); // 输出 true var_dump(password_verify('chicken,ran!', $pwd1)); // 输出 false var_dump(password_verify($str, $pwd2)); // 输出 true var_dump(password_needs_rehash($pwd1, PASSWORD_BCRYPT, ['cost'=>10])); // 输出 false,因为 password_hash() 在加密时,出来默认 cost 为 10 外,还会指定随机的盐值
위 내용은 PHP 암호화: 비밀번호 해싱 API의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
