首页 后端开发 PHP7 php7.0 openssl_encrypt如何加密

php7.0 openssl_encrypt如何加密

Jun 04, 2019 pm 02:28 PM

php5.4版本mcrypt_encryp提升到php7.0 openssl_encrypt,加密字段不一样。

php7.0 openssl_encrypt如何加密

今天有个加密,使用的加密字段和key,加密模式都一样,可是加密后的数据不一样,
这是代码片段

<?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,&#39;aes-128-cbc&#39;, $privateKey, OPENSSL_RAW_DATA, $iv);
	 echo(base64_encode($encrypted));
     echo "\n";
 >
登录后复制

加密后是gHXA5vo5hEMxjthYNq/gbtwwm1TlRzsRBI64TrEo3P8=

1.gHXA5vo5hEMxjthYNq/gborXWNETPw0rYEb2FspAYzc=

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, &#39;AES-128-CBC&#39;,$privateKey,OPENSSL_NO_PADDING,$iv);
     echo  (base64_encode($encrypted));
登录后复制

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

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

以上是php7.0 openssl_encrypt如何加密的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)