PHP相关系列 - 兼容JAVA的PHP加密解密DES算法
2012-07-25 18:22
495 查看
今天一直折腾和JAVA对接数据加密解密的问题。
刚开始使用TEA的加密算法,但是JAVA那边和PHP端加密出来的结果不一样
只能修改算法,将算法修改成了DES的加密算法
但是PHP需要装一个mcrypt扩展,这点有点烦人
看代码吧:
刚开始使用TEA的加密算法,但是JAVA那边和PHP端加密出来的结果不一样
只能修改算法,将算法修改成了DES的加密算法
但是PHP需要装一个mcrypt扩展,这点有点烦人
看代码吧:
/** * 加密 * @param string $str 字符串 * @param string $key 密钥 */ public static function encrypt($str, $key) { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); $str = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); return base64_encode($str); } /** * 解密 * @param string $str 字符串 * @param string $key 密钥 */ public static function decrypt($str, $key) { $str = base64_decode($str); $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); }
相关文章推荐
- DES ECB模式JAVA PHP C#实现加密、解密兼容
- php 3Des加密解密兼容java
- DES ECB 模式 JAVA PHP C# 实现 加密 解密 兼容
- java/php对应的AES/CBC/PKCS5Padding模式 加密解密
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- php与java通用AES加密解密算法
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- php RSA 加密 与java加密互交,java解密
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- PHP 识别 java 8位 des 加密和 解密方式
- Android-Ios-Php-Java AES加密解密
- DES解密 - java加密 php解密
- Java加密解密相关
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- java加密解密——MD5算法和DES算法
- AES加密CBC模式兼容互通四种编程语言平台AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- Java加密解密相关
- java DESede加密解密 php版本