> 백엔드 개발 > PHP 튜토리얼 > PHP_php 팁에 구현된 향상된 mhash 함수

PHP_php 팁에 구현된 향상된 mhash 함수

WBOY
풀어 주다: 2016-05-16 20:14:48
원래의
1188명이 탐색했습니다.

오늘 PHP의 암호화 기능인 mhash를 사용할 때 오류가 발생했습니다: 치명적인 오류: 정의되지 않은 함수 mhash() 호출

mhash는 php에 내장된 함수인데 사용시 오류가 발생하네요..

몇 가지 조사 끝에 우리는 두 가지 방법을 요약했습니다.

1. php_mhash.dll 확장 파일을 가져옵니다. 또한 libmhash.dll을 가져옵니다(mhash 라이브러리의 로딩은 이 파일에 따라 다름).

Apache 구성 파일 Httpd.conf의 LoadFile C:/php/libmhash.dll”을 로드합니다.

2. 사용자 정의 mhash 향상 기능을 사용합니다.

코드 복사 코드는 다음과 같습니다.

함수 hmac_md5($key, $data)
{
If (extension_loaded('mhash'))
{
          return bin2hex(mhash (MHASH_MD5, $data, $key));
}

$b = 64;
If (strlen($key) > $b)
{
          $key = pack('H*', md5($key));
}
$key = str_pad($key, $b, chr(0x00));
$ipad = str_pad('', $b, chr(0x36));
$opad = str_pad('', $b, chr(0x5c));

$k_ipad = $key ^ $ipad;
$k_opad = $key ^ $opad;

return md5($k_opad . pack('H*', md5($k_ipad . $data)));
}


hmac_md5 함수의 $key 및 $data 매개변수는 mhash의 원래 3,2 매개변수에 해당합니다.

이 두 가지 방법 모두 PHP의 mhash 암호화 기능을 성공적으로 사용할 수 있습니다

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