Heim >Backend-Entwicklung >PHP-Tutorial >PHP之--DES加解密函数 与JAVA兼容(插曲)

PHP之--DES加解密函数 与JAVA兼容(插曲)

WBOY
WBOYOriginal
2016-06-23 13:33:521179Durchsuche

PHP可以使用mcrypt_encrypt进行DES加密与解密,但实际上操作,你会发现它与JAVA的DES加密出来的字符串,有些不同。基本上是前半段一样,后半段不一样。找到PHP官方网站上对这个函数的文档,有人回复了,并给出了代码。经测,这样加密解密就跟JAVA中的兼容了。

<?php  function encrypt($str, $key){    $block = mcrypt_get_block_size('des', 'ecb');        $pad = $block - (strlen($str) % $block);        $str .= str_repeat(chr($pad), $pad);        return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);}function decrypt($str, $key){    $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);        $block = mcrypt_get_block_size('des', 'ecb');        $pad = ord($str[($len = strlen($str)) - 1]);        return substr($str, 0, strlen($str) - $pad);}?>  


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:thinkphp如何引入第三方类Nächster Artikel:挺难懂的