《PHP的AES加密算法完整实例_.docx》由会员分享,可在线阅读,更多相关《PHP的AES加密算法完整实例_.docx(4页珍藏版)》请在三一文库上搜索。
1、PHP的AES加密算法完整实例_ 本文实例讲解并描述了PHP的AES加密算法。分享给大家供大家参考,具体如下: ?php class MCrypt private $hex_iv = 00000000000000000000000000000000; # converted JAVA byte code in to HEX and placed it here private $key = U1MjU1M0FDOUZ.Qz; #Same as in JAVA function _construct() $this-key = hash(sha256, $this-key, true); /ec
2、ho $this-key.br/; function encrypt($str) $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, , MCRYPT_MODE_CBC, ); mcrypt_generic_init($td, $this-key, $this-hexToStr($this-hex_iv); $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $pad = $block - (strlen($str) % $block); $str .= str_re
3、peat(chr($pad), $pad); $encrypted = mcrypt_generic($td, $str); mcrypt_generic_deinit($td); mcrypt_module_close($td); return base64_encode($encrypted); function decrypt($code) $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, , MCRYPT_MODE_CBC, ); mcrypt_generic_init($td, $this-key, $this-hexToStr($this-
4、hex_iv); $str = mdecrypt_generic($td, base64_decode($code); $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $this-strippadding($str); /* For PKCS7 padding */ private function addpadding($string, $blocksize = 16) $len
5、= strlen($string); $pad = $blocksize - ($len % $blocksize); $string .= str_repeat(chr($pad), $pad); return $string; private function strippadding($string) $slast = ord(substr($string, -1); $slastc = chr($slast); $pcheck = substr($string, -$slast); if (preg_match(/$slastc . $slast . /, $string) $stri
6、ng = substr($string, 0, strlen($string) - $slast); return $string; else return false; function hexToStr($hex) $string=; for ($i=0; $i strlen($hex)-1; $i+=2) $string .= chr(hexdec($hex$i.$hex$i+1); return $string; $encryption = new MCrypt(); echo $encryption-encrypt(123456) . br/; echo $encryption-decrypt(tpyxISJ83dqEs3uw8bN/+w=); ? 盼望本文所述对大家PHP程序设计有所关心。 .