Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP에서 암호 암호화

<시간/>

Blowfish는 PHP 버전 5.3.7 이전에 취약점이 있기 때문에 SHA-256 또는 SHA-512를 대신 사용하는 것이 좋습니다. 둘 다 Blowfish와 유사한 솔트 형식을 가지고 있습니다(SHA-256의 경우 $5$, SHA-512의 경우 $6$ 접두사 사용). 이 외에도 다중 해싱을 강제하는 선택적 rounds 매개변수도 포함되어 있습니다.

솔트 자체는 16자로 약간 짧지만 Blowfish와 달리 영숫자 이상의 문자를 허용합니다.

예시

echo 'SHA-256(라운드 없음):' . crypt('암호화할 암호', '$5$YourSaltyStringz$');echo 'SHA-512(반올림 포함):' . crypt('암호화할 암호', '$6$rounds=1000$YourSaltyStringz$');

출력

이것은 다음과 같은 출력을 생성합니다 -

SHA-256 (더 라운드) <미리 없다> $ 5 $ YourSaltyStringz $ td0INaoVoMPD4kieVrkGE67siKj3N8.HSff8ep0Ybs8SHA-512 (라운드) :$ 6 $ 라운드 =$ 1000 YourSaltyStringz A5UHscsEbSnPnaV6PmSF5T $ / MQK.Wc3klA.18c.gXG5pD0PVYSVr / 7xwRu1XJyn8XpiMDNRTvpJm5S8DkmSywz1

Blowfish와 유사하게 결과 해시에는 결과 해시의 일부로 소금이 포함됩니다.