php7.0 openssl_encrypt如何加密

互联网 19-6-4
php5.4版本mcrypt_encryp提升到php7.0 openssl_encrypt,加密字段不一样。

<?php      $privateKey = "qewrvxffbfdhsfdgh";      $iv    = "234253454354352";      $data  = "测试用的数据";      $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $privateKey, $data, MCRYPT_MODE_CBC, $iv);      echo(base64_encode($encrypted));      echo "\n";  >

加密后的数据是gHXA5vo5hEMxjthYNq/gborXWNETPw0rYEb2FspAYzc=

下面是使用php7.0版本以上不支持mcrypt_encryp函数进行加密的代码

<?php      $privateKey = "qewrvxffbfdhsfdgh";      $iv    = "234253454354352";      $data  = "测试用的数据";      $encrypted=  openssl_encrypt($data,'aes-128-cbc', $privateKey, OPENSSL_RAW_DATA, $iv); 	 echo(base64_encode($encrypted));      echo "\n";  >

加密后是gHXA5vo5hEMxjthYNq/gbtwwm1TlRzsRBI64TrEo3P8=

2.gHXA5vo5hEMxjthYNq/gbtwwm1TlRzsRBI64TrEo3P8=

是不是不一样,这样加密出来的数据不仔细查看,会认为是一样的数据。

要想保证加密一样,将php7.0的代码修改如下

<?php      $privateKey = "qewrvxffbfdhsfdgh";      $iv    = "234253454354352";      $data  = "测试用的数据"; 		if (strlen($data) % 16) { 		            $data = str_pad($data,strlen($data) + 16 - strlen($data) % 16, "\0"); 		        } 		 $encrypted=  openssl_encrypt($data, 'AES-128-CBC',$privateKey,OPENSSL_NO_PADDING,$iv);      echo  (base64_encode($encrypted));

加密后的数据是gHXA5vo5hEMxjthYNq/gborXWNETPw0rYEb2FspAYzc=,这样就保持一致了。

本文来自php7教程栏目,欢迎学习。

以上就是php7.0 openssl_encrypt如何加密的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:彻底把 PHP7 说透,全面介绍 PHP7 新特性

相关资讯