PHP 암호화 확장 라이브러리 - Mhash 확장 라이브러리
Mhash 확장 라이브러리란 무엇입니까? Mhash는 이산 수학 원리를 기반으로 한 되돌릴 수 없는 PHP 암호화 확장 라이브러리입니다. , 이는 기본적으로 활성화되어 있지 않습니다. mhash는 원본 텍스트 없이 확인 값, 메시지 다이제스트, 메시지 인증 코드를 생성하고 키 정보(예: 비밀번호)를 저장하는 데 사용할 수 있습니다.
1. Mhash 확장 라이브러리 설치
Mhash 라이브러리 설치는 Mcrypt 확장 라이브러리 설치와 유사하므로 여기서는 자세히 소개하지 않겠습니다. 이전 글 "PHP 암호화 확장 라이브러리—Mcrypt 확장 라이브러리"를 참고하세요!
2.Mhash 확장 라이브러리 상수
Mhash 라이브러리는 MD5, SHA, CRC32 등 다양한 해싱 알고리즘을 지원하며 mhash_count()를 사용하여 출력할 수 있습니다. 및 mhash_get_hash_name() 함수 지원되는 알고리즘 이름입니다. 샘플 코드를 살펴보겠습니다.
<?php header("Content-Type:text/html; charset=utf-8"); $num = mhash_count(); //函数返回最大的hash id echo "mhash库支持的算法有:<br>"; for($i=0;$i<=$num;$i++){ echo $i."=>".mhash_get_hash_name($i)."<br>".""; //输出每一个hash id 的名称 } ?>
출력 결과는 다음과 같습니다.
참고: 실제 애플리케이션에서 위의 상수를 사용하는 경우 , 알고리즘 이름 앞에는 MHASH_가 붙습니다. 예를 들어 CRC32는 MHASH_CRC32로 표시됩니다.
3.Mhash 애플리케이션
Mcrypt 확장 라이브러리의 30개 이상의 기능에 비해 Mhash 라이브러리에는 다음을 제외하고 5개의 기능만 있습니다. 위에서 사용한 두 가지 기능 외에도 다음 세 가지 기능이 소개됩니다.
(1)mhash_get_block_size() 함수
함수 구문 형식은 다음과 같습니다.
int mhash_get_block_size ( int $hash )
이 함수는 블록 크기를 가져오는 데 사용됩니다. :mhash_get_biock_size(MHASH_CRC32)와 같은 매개변수 해시.
(2)mhash() 함수
함수 구문 형식은 다음과 같습니다.
string mhash(int hash,string data[,string key])
이 함수는 해시 값을 반환합니다. 매개변수 hash는 사용할 알고리즘, 매개변수 data는 암호화할 데이터, 매개변수 key는 암호화에 사용되는 키입니다.
(3) mhash_keygen_s2k() 함수
함수 구문 형식은 다음과 같습니다.
string mhash_keygen_s2k ( int $hash , string $password , string $salt, int $bytes )
이 함수는 다음에 따라 단어 단위를 반환합니다. 매개변수는 비밀번호와 솔트 섹션의 키 값이고, 매개변수인 해시는 사용할 알고리즘입니다. 솔트는 고정된 8바이트 값입니다. 사용자가 제공한 값이 8바이트 미만인 경우 0으로 채워집니다.
다음 예에서는 mhash_keygen_s2k() 함수를 사용하여 검사 코드를 생성하고, bin2hex() 함수를 사용하여 이진수 결과를 16진수로 변환합니다. 구체적인 코드는 다음과 같습니다.
<?php header("Content-Type:text/html; charset=utf-8"); $filename = "08.txt"; // 文件路径 $str = file_get_contents($filename); //读取文件内容到变量$str中 $hash = 2 ; //设置hash值 $password = "111"; //设置变量$password $salt = "1234"; //设置变量$salt $key = mhash_keygen_s2k(1,$password,$salt,10); //生成key 值 $str_mhash =bin2hex(mhash($hash,$str,$key)); //使用$key 值、$hash值对字符串$str 加密 echo "文件 08.txt 的校验码是:".$str_mhash; //输出校验码 ?>
출력 결과는 다음과 같습니다. 1. 관련 주제 권장 사항: "
PHP 암호화 기능"
2.
PHP 암호화 확장 라이브러리 - Mcrypt 확장 라이브러리 사용 예시
위 내용은 PHP 암호화 확장 라이브러리 - Mhash 확장 라이브러리 예시 사용법 상세 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!