php7.x使用3DES-ECB做加解密内容

目的

对接了一份java后端数据内容,文档明确写着要求“加解密算法采用 3DES-ECB 对称算法,对加密后的数据进行 base64 转码”,只能对接处理它。

使用

7.0(含)以前PHP版本,可以使用 mcrypt对它做加解密处理,对应的PHP模块需要打开,使用 php -m 或 phpinfo() 查看对应模块是否加载;7.1(含)以上PHP版本,废除了mcrypt模块支持,现使用openssl_encrypt(openssl模块)做功能支持。

mcrypt使用:

参考大佬文章 https://blog.csdn.net/liangxun0712/article/details/78615365 ,不做使用解释。

openssl使用

主要是参考了 segmentfault的几个问答和PHP官方文档内容
一:https://segmentfault.com/q/1010000010111980
二:https://segmentfault.com/q/1010000010103837
三:http://php.net/manual/zh/function.openssl-encrypt.php
做个参考总结,
3DES-ECB由于没什么意义(不安全,空耗性能),所以在openssl不做单独的示例,只有一系列的其他DES算法使用示例。但因为也可能会有人要用,所以,使用DES-EDE3系列做了兼容(EDE:encrypt-decrypt-encrypt)。如:这儿的 3DES-ECB被包含于DES-EDE3,使用时可直接 echo openssl_encrypt($data, ‘DES-EDE3’, $key); 就能得到结果,并且结果和 上文mcrypt参考中ECB base64后的结果是一致的。

你可能感兴趣的:(php7.x使用3DES-ECB做加解密内容)