欢迎大家访问我的博客 www.kevink.club

php7.1 开始弃用mcrypt 加密 改为使用 openssl 加密

以下列出 aes ecb 加密 5.* 和 7.2及以上加密方式

php5.*

```

$key = 'Op2TlBNJ3drx71rF';

$string = '{"channel":"djqm","productId":"I19BR9","tranCode":"SPE20200804995150100991","userName":"陈先生","sex":"1011201","mobile1":"18633452430","idcardType":"1010901","idcardNum":"110101199003073773","startTime":"2020-08-04","endTime":"2021-08-04","dataType":"01","cardNum":"IQ990001006"}';

var_dump(aESEncryptRequest($key, $string));

function aESEncryptRequest($key, $string){

$size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);

$pad = $size - (strlen($string) % $size);

$input = $string . str_repeat(chr($pad), $pad);

$td=mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_ECB,'');

$iv = '';

mcrypt_generic_init($td, $key, $iv);

$data = mcrypt_generic($td, $input);

mcrypt_generic_deinit($td);

mcrypt_module_close($td);

$data = bin2hex($data);

return $data;

}

```

加密方式使用ECB, 所以偏移量其实被忽略了,在加密过程中并没有涉及到IV.

打印结果

```

9517177c6344a7755f9b9d97dde0999603b37c3c57042583d14d199489bd4778209a171f263cbe62692a9a203829756e2fbad5df07c3af3333c0f6c43242ecb8b56ae8edc4e7a3bf39c82bc232f5562838b4963944612fd32008dc8cf66b753de7fd19413364bc45411c0eb751b0c345aef81bdaecca7fb5a0445c3e4801d815337a0a79b227628a938096a9d24cc0f5fc6c5477240f1bb0b0cc30c3e7d44305f6b79947bf9f483e0b86ec91d7f0a968624368028902232d01f0360b1dc8a7f368ba0dd6564651d0eade270f69795320c6ba4044b7f914265b92cc2aa77d7a45d048975fea6e325711ccc3925e4c6d30c908b2fe24ed3cbf4734c9dd0d16229c49bcff3e9e50fcd656b9f04bbf28006e6489bfba62e22cd1776b1334f0d51d10

````

php7.*

```

$data = openssl_encrypt($str,"AES-128-ECB",self::YM_ENCODE_KEY,OPENSSL_RAW_DATA);

$strEncode = bin2hex($data);

var_dump($strEncode);

```

打印结果

```

9517177c6344a7755f9b9d97dde0999603b37c3c57042583d14d199489bd4778209a171f263cbe62692a9a203829756e176d7b5c679c441c8c3c6e1668c0c8101df5a1e85b8a31f8c48dec71e3ee7d8a38b4963944612fd32008dc8cf66b753de7fd19413364bc45411c0eb751b0c345aef81bdaecca7fb5a0445c3e4801d815337a0a79b227628a938096a9d24cc0f5fc6c5477240f1bb0b0cc30c3e7d44305f6b79947bf9f483e0b86ec91d7f0a968624368028902232d01f0360b1dc8a7f368ba0dd6564651d0eade270f69795320c6ba4044b7f914265b92cc2aa77d7a45d048975fea6e325711ccc3925e4c6d30c908b2fe24ed3cbf4734c9dd0d16229c49bcff3e9e50fcd656b9f04bbf28006e6489bfba62e22cd1776b1334f0d51d10

```

加密结果一致。

php7.2 加密,php 7.2 aes 128 ECB 加密相关推荐

  1. Go Nodejs Java Aes 128 ECB加密解密结果保持一致

    在多语言的生产环境下,常常是由一种语言进行加密而由另一种语言来进行解密,因此有必要保持各种语言之间加密解密算法的一致性.下面列出了Go,Nodejs,Java 的 Aes-128-Ecb的加密解密算法 ...

  2. php aes 128位加密,php实现AES 128位加密的相关操作技巧分享

    php实现AES 128位加密的相关操作技巧是什么?这篇文章主要介绍了PHP实现的AES 128位加密算法,结合实例形式分析了AES 128位加密的相关概念.原理及php实现AES 128位加密的相关 ...

  3. python的aes的ecb加密_AES ECB PKCS5/PKCS7 加密 python实现 支持中文

    ecb模式介绍 电码本模式(electronic codebook book (ecb) 这种模式是将整个明文分成若干段相同的小段,然后对每一小段进行加密. pkcs5padding和pkcs7pad ...

  4. java aes128加密解密_java AES 128 位加密解密算法

    最近在做app后台的服务器,使用到AES加密解密算法,无奈网上的都不符合要求,于是自己借鉴着写了一个AES加密解密工具. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥 ...

  5. 使用openssl进行AES 128 CTR 加密、解密

    参考文章 https://blog.csdn.net/yasi_xi/article/details/13997337 对称加密如非对称加密 AES128-CTR方式,属于对称加密的一种. 这里有一篇 ...

  6. php ecb加密,PHP使用TripleDes,PKCS7和ECB加密/解密

    感谢任何看过我问题的人.我想我已经解决了,这是我的完整解决方案.希望它能帮助遇到类似问题的其他人: function Encrypt($data, $secret) { //Generate a ke ...

  7. android怎样生成固定的aes密钥,关于android:如何更改AES 128的密钥数量

    本问题已经有最佳答案,请猛点这里访问. 我找到了一个android加密的源..它使用的是aes 128位加密..但是密钥的数量固定为16个字符..有人能告诉我如何根据我们的意愿更改数字密钥..我不想限 ...

  8. 128位加密SSL证书

    SGC超真SSL(SGC ZhenSSL)属于 SGC Enabled High Assurance SSL, 是 WoSign 的增强型 SSL证书产品,支持 SGC 强制128位加密技术,即使用户 ...

  9. AES 128位CBC加密解密(不使用固定IV)

    安全检查时要求账号和密码加密后才能存到数据库中,要求加密算法如下: 1)分组密码算法:AES(密钥长度在128位及以上)(GCM或CBC模式) 2)流密码算法:AES(密钥长度在128位及以上)(OF ...

  10. 对称加密----AES和DES加密、解密

    目前主流的加密方式有:(对称加密)AES.DES        (非对称加密)RSA.DSA 调用AES/DES加密算法包最精要的就是下面两句话: Cipher cipher = Cipher.get ...

最新文章

  1. Swift中依赖注入的解耦策略
  2. Android之如何获取手机程序列表以及程序相关信息并启动指定程序
  3. 微信小程序云开发 | 云函数安装依赖
  4. python运算符中用来计算整商的是什么_零基础学python,看完这篇文章,你的python基础就差不多了...
  5. Android Studio 设置字体
  6. 计算机网络(9)-----TCP可靠传输的实现
  7. CentOS6下docker的安装和使用
  8. Linux运行shell脚本出现出错,可能是环境编码不一致造成的。
  9. CleanCodeHandbook Chapter 3: Linked List(20-24)
  10. Cry On My Shoulder (背景音乐)
  11. 第二部分 Automake的标准工程组织
  12. EXCEL函数常用技巧浅析
  13. 顶尖互联网公司 类名定义/数据库字段 - 英文名词解释
  14. “醒着拼”的东鹏饮料发中报,“饮料界茅台”名副其实吗?
  15. 网记者采访时,一直称李某萍为“妻子”
  16. C语言 getchar()原理及易错点解析
  17. Android Studio 报错记录
  18. python求解组合数_6-2 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10分)
  19. 第九周项目四----广义表算法库及应用1
  20. 三张表,四张表怎么连接?

热门文章

  1. BZOJ3038 上帝造题的七分钟2
  2. [2018.07.10 T3]数论题
  3. 1001 Hello,World!
  4. POJ2187 Beauty Contest
  5. java serviceimple,java apiimpl怎么调用 service接口
  6. sql转义模块php,sql注入与转义的php函数代码_php技巧
  7. 微信小程序时间轴demo_微信小程序 - 时间轴(组件)
  8. java获取动态输入_java-如何在Spring中以bean形式接收动态生成的输入值
  9. 安卓手机反应慢又卡怎么办_安卓手机出现卡顿反应慢的具体处理方法
  10. 20160205 - Windows 10 家庭版没有组策略