PHP 5.5 암호 해시 API는 네 가지 기능으로 암호 해싱을 단순화합니다. 해싱 비밀번호의 경우 해시 값으로 비밀번호를 확인하려면
는 암호를 다시 출시 해야하는지 확인합니다. > 해시 알고리즘의 이름과 해싱 프로세스에 사용 된 다양한 옵션을 반환하는 데 사용됩니다.password_hash()
이 API는 매우 안전한 것으로 간주되지만 포괄적 인 보안 정책의 일부로 사용하는 것이 좋습니다. PHP 5.3.7 이상을 사용하는 개발자는 API를 에뮬레이션하고 PHP 버전이 5.5로 업그레이드 된 후 자동으로 비활성화하는 라는 라이브러리를 사용할 수 있습니다. password_verify()
password_needs_rehash()
BCrypt 사용은 현재 최고의 암호 해싱 관행으로 인식되고 있지만 많은 개발자가 여전히 MD5 및 SHA1과 같은 더 오래되고 약한 알고리즘을 사용하고 있습니다. 일부 개발자는 해싱시 소금을 사용하지 않습니다. PHP 5.5의 새로운 해시 API는 복잡성을 숨기면서 Bcrypt에 관심을 끌도록 설계되었습니다. 이 기사에서는 PHP New Hash API 사용의 기본 사항을 다룰 것입니다. 새로운 암호 해시 API는 네 가지 간단한 기능을 노출시킵니다.
password_get_info()
password_hash()
- 해시 값에 따라 비밀번호를 확인하는 데 사용됩니다. password_compat
password_hash()
기능은 안전하지만 많은 사람들이 너무 복잡하고 오류가 발생하기 쉽다고 생각합니다. 그런 다음 일부 개발자는 약한 소금과 약한 알고리즘을 사용하여 다음과 같은 해시를 생성합니다.
password_verify()
<code class="language-php"><?php $hash = md5($password . $salt); // 可行,但危险</code>그게 다야! 첫 번째 매개 변수는 가지고있는 비밀번호 문자열이며, 두 번째 매개 변수는 해시를 생성하기 위해 적용된 알고리즘을 지정합니다. 현재 기본 알고리즘은 bcrypt이지만, 언젠가는 기본 알고리즘으로 더 강력한 알고리즘을 추가하고 더 큰 문자열을 생성 할 수 있습니다. 프로젝트에서 <<>를 사용하는 경우 해시를 60 자 이상의 용량의 열에 저장하십시오. 열 크기를 255로 설정하는 것이 좋습니다. <<>를 두 번째 매개 변수로 사용할 수도 있습니다. 이 경우 결과는 항상 60 자입니다. 여기서 소금 가치 나 비용 매개 변수를 제공 할 필요가없는 것이 중요합니다. 새로운 API 가이 모든 것을 처리 할 것입니다. 소금은 해시의 일부이므로 별도로 보관할 필요가 없습니다. 자신의 소금 (또는 비용)을 제공하려면 세 번째 매개 변수 (옵션 배열)를 함수에 전달하여 수행 할 수 있습니다.
PASSWORD_DEFAULT
이런 방식으로 항상 최신 보안 조치를 사용할 수 있습니다. 나중에 PHP가 더 강력한 해싱 알고리즘을 구현하기로 결정하면 코드를 활용할 수 있습니다. PASSWORD_BCRYPT
<code class="language-php"><?php $hash = password_hash($password, PASSWORD_DEFAULT);</code>
password_verify()
<<> <<>
는 지정된 해시가 특정 알고리즘을 구현하고 생성 될 때 특정 옵션 (예 : 비용 및 소금)을 사용하는지 확인하는 데 도움이됩니다. password_verify()
<code class="language-php"><?php $options = [ 'salt' => custom_function_for_salt(), //编写您自己的代码以生成合适的盐 'cost' => 12 // 默认成本为 10 ]; $hash = password_hash($password, PASSWORD_DEFAULT, $options);</code>
해시를 수락하고 세 가지 요소가 포함 된 연관 배열을 반환합니다.
password_needs_rehash()
- 특정 알고리즘을 식별하는 상수
password_needs_rehash()
- 해시를 생성 할 때 사용되는 다양한 옵션
PHP 5.5 암호 해시 API FAQ (FAQ) crypt()
password_compat
PHP 5.5 비밀번호 HASH API는 PHP 5.5의 기능이며 나중에 개발자에게 안전한 방법으로 해시 및 암호를 확인할 수있는 쉬운 방법을 제공합니다. 민감한 사용자 데이터를 보호하는 데 도움이되므로 중요합니다. 데이터베이스가 해킹되면 해시 암호는 일반 텍스트 비밀번호보다 크랙하기가 더 어렵습니다. API는 기본적으로 강력한 해시 기능 BCrypt를 사용하고 SALT 값의 생성을 자동으로 처리하므로 개발자가 안전한 비밀번호 처리를보다 쉽게 구현할 수 있습니다.
함수는 PHP 5.5 암호 해시 API의 일부입니다. 입력으로 일반 텍스트 비밀번호와 해시 알고리즘을 수신하고 해시 비밀번호를 반환합니다. 이 기능은 또한 해싱 전에 암호에 임의의 소금 값을 자동으로 생성하고 적용합니다. 이 소금 값은 반환 된 해시에 포함되어 있으므로 별도로 저장할 필요는 없습니다.
함수의 목적은 무엇입니까?PHP 5.5 암호 해시 API는 매우 안전한 것으로 간주됩니다. 기본적으로 Bcrypt 해싱 알고리즘을 사용합니다. 이는 강력한 해싱 기능입니다. API는 또한 각 암호에 대해 무작위 소금 값을 자동으로 생성하고 적용하여 무지개 테이블 공격을 방지합니다. 그러나 모든 보안 조치와 마찬가지로 이는 완벽하지 않으며 포괄적 인 보안 정책의 일부로 사용해야합니다.
password_hash
함수에서 사용자 정의 소금을 사용할 수 있지만 권장되지 않습니다. 이 기능은 각 암호에 대한 임의의 소금 값을 자동으로 생성하며, 이는 일반적으로 사용자 정의 소금보다 안전합니다. 맞춤 소금을 사용하기로 선택한 경우 최소 22 자 이상의 임의의 문자열이어야합니다. 함수의 비용 매개 변수는 얼마입니까? password_hash
password_needs_rehash
PHP 5.5 암호 해시 API는 PHP 5.5 이상에서만 사용할 수 있습니다. 그러나 PHP 5.3.7 이상에 동일한 기능을 제공하는 호환 라이브러리가 있습니다.
위 내용은 PHP 5.5 암호 해싱 API를 사용하여 암호 해싱의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!