PHP相关系列 - 兼容JAVA的PHP加密解密DES算法

编程知识 更新时间:2023-04-06 16:21:02

今天一直折腾和JAVA对接数据加密解密的问题。

刚开始使用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);
	}


 

更多推荐

PHP相关系列 - 兼容JAVA的PHP加密解密DES算法

本文发布于:2023-04-06 16:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/10b98cb9a275b234b852b2011e87e6ac.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   加密解密   系列   PHP   DES

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 49884文章数
  • 14阅读数
  • 0评论数