php7.0 openssl,php7.0中openssl_encrypt加密的方法

php7.0中openssl_encrypt加密的方法

发布时间:2020-08-25 13:55:33

来源:亿速云

阅读:131

作者:小新

小编给大家分享一下php7.0中openssl_encrypt加密的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php5.4版本mcrypt_encryp提升到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,'aes-128-cbc', $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, 'AES-128-CBC',$privateKey,OPENSSL_NO_PADDING,$iv);

echo (base64_encode($encrypted));

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

以上是php7.0中openssl_encrypt加密的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值