当前位置: 首页 > 编程笔记 >

PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

申屠俊发
2023-03-14
本文向大家介绍PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案,包括了PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案的使用技巧和注意事项,需要的朋友参考一下

前言

mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。

PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.

示例代码

/**
 * [AesSecurity aes加密,支持PHP7.1]
 */
class AesSecurity
{
 /**
  * [encrypt aes加密]
  * @param [type]     $input [要加密的数据]
  * @param [type]     $key [加密key]
  * @return [type]       [加密后的数据]
  */
 public static function encrypt($input, $key)
 {
  $data = openssl_encrypt($input, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  $data = base64_encode($data);
  return $data;
 }
 /**
  * [decrypt aes解密]
  * @param [type]     $sStr [要解密的数据]
  * @param [type]     $sKey [加密key]
  * @return [type]       [解密后的数据]
  */
 public static function decrypt($sStr, $sKey)
 {
  $decrypted = openssl_decrypt(base64_decode($sStr), 'AES-128-ECB', $sKey, OPENSSL_RAW_DATA);
  return $decrypted;
 }
}

可据需求,自行改编。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 在PHP7及以上版本,mcrypt扩展已被废弃,不再作为官方支持。上述示例如何在PHP7以上的版本实现呢? 使用openssl库,这样实现,输出的结果不一致是什么原因呢?

  • 我编写了以下两种加密和解密给定令牌的方法:

  • 本文向大家介绍Java AES加密解密的简单实现方法,包括了Java AES加密解密的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 以上这篇Java AES加密解密的简单实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Python实现AES加密,解密的两种方法,包括了Python实现AES加密,解密的两种方法的使用技巧和注意事项,需要的朋友参考一下 第一种 第二种 以上就是Python实现AES加密,解密的两种方法的详细内容,更多关于Python实现AES加密,解密的资料请关注呐喊教程其它相关文章!

  • 问题内容: 编辑:::问题中的代码有效,但是一旦在相机中拍摄了图像,返回活动大约需要10秒钟。我放弃了这种方法,而是使用Facebook的隐秘库对图像进行加密和解密。 我看了很多示例,但是仍然找不到解决正确加密和解​​密的方法。我以为我在互联网上使用一些随机代码时是正确的,但是在解码时会收到BadPadding异常。 所以,我正在努力解决。正如大多数人在SO上所建议的那样,我正在关注以下问题(但是

  • 编辑:::问题中的代码起作用,但一旦图像被相机拍摄,返回活动需要大约10秒的时间。我放弃了这种做法,使用Facebook的隐藏库来加密和解密图像。链接到Facebook的解决方案:Facebook隐藏-图像加密和解密 所以,我正在努力解决这个问题。我遵循下面的问题,正如SO上的大多数人所建议的那样(但这段代码展示了如何加密字符串)。有人能帮我加密和解密图像吗?问题中的代码是否适用于图像? 链接到问