”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?

我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?

发布于2025-05-01
浏览:426

Can I Migrate My Encryption from Mcrypt to OpenSSL, and Decrypt Mcrypt-Encrypted Data Using OpenSSL?
将我的加密库从mcrypt升级到openssl

问题:是否可以将我的加密库从McRypt升级到OpenSSL?如果是这样,如何?答案:

是的,可以将您的Encryption库从McRypt升级到OpenSSL。

可以使用openssl。

附加说明:

[openssl_decrypt()函数要求iv参数的长度与所使用的cipher的块大小相同。 openssl_decrypt() function in CBC mode.

Test:

The following code can be used to test the decrypt() function:$keys = [ “这是一个秘密钥匙。”, 'g906m70p(ihza5t&5x7(w0.31)u) chr(6)。 CHR(200)。 CHR(16)。 “我的钥匙”。 chr(3)。 chr(4)。 CHR(192)。 CHR(254)。 'zyx0987 !!', ``最后是这里测试的另外一个关键:'',, ]; $ data = [ '一个', “这是一个测试”, “现在测试加密使用1234567890的更长的东西。', '$ length = mcrypt_get_block_size(mcrypt_blowfish,mcrypt_mode_cbc); $ last = ord($ data [strlen($ data)-1]);',, 'lorem ipsum dolor sit amet,consettur adipiscising elit。 Donec坐下Amet Pharetra Urna。 faucibus orci luctus et ultrics primis中的前庭ipsum primis presuere posuere cupilia curae; UT Fringilla,Quam Sed Eleifend Eleifend,Justo Turpis Consecttur Tellus,Nibh的Quis Tristique Eros Erat。 nuncandum neque vel diam molestie发酵。 Pellentesque dignissim dui quis tortor Eleifend,UT Maximus Elit Egestas。 Donec Posuere Odio和Auctor Porta。 quisque placerat调味品最大值。 Curabitur luctus dolor eget sem luctus,在Dignissim tortor venenatis中。 Mauris Eget Nulla Nisl。', ]; $ FAILURES = 0; foreach($ data作为$ datum){ foreach($键作为$键){ $ enc =新加密(mcrypt_blowfish,mcrypt_mode_cbc); $ GENCRYPTED = $ ENC-> gencrypt($ datum,$ key); $ dec = new EncryptionOpenssl('BF-CBC'); $解密= $ dec->解密($加密,$ key); if(strcmp($ datum,$解密)!== 0){ echo“使用'$ datum'的键'$键'加密失败。'$解密'!='$ datum'



\ n \ n“”; $失败; } } } 如果($ failures){ echo“ $失败测试失败。
\ n”; } 别的 { echo“一切都很好
\ n”; }

最新教程 更多>
  • Go web应用何时关闭数据库连接?
    Go web应用何时关闭数据库连接?
    在GO Web Applications中管理数据库连接很少,考虑以下简化的web应用程序代码:出现的问题:何时应在DB连接上调用Close()方法?,该特定方案将自动关闭程序时,该程序将在EXITS EXITS EXITS出现时自动关闭。但是,其他考虑因素可能保证手动处理。选项1:隐式关闭终止数...
    编程 发布于2025-05-01
  • C++20 Consteval函数中模板参数能否依赖于函数参数?
    C++20 Consteval函数中模板参数能否依赖于函数参数?
    [ consteval函数和模板参数依赖于函数参数在C 17中,模板参数不能依赖一个函数参数,因为编译器仍然需要对非contexexpr futcoriations contim at contexpr function进行评估。 compile time。 C 20引入恒定函数,必须在编译时进行...
    编程 发布于2025-05-01
  • 如何在Chrome中居中选择框文本?
    如何在Chrome中居中选择框文本?
    选择框的文本对齐:局部chrome-inly-ly-ly-lyly solument 您可能希望将文本中心集中在选择框中,以获取优化的原因或提高可访问性。但是,在CSS中的选择元素中手动添加一个文本 - 对属性可能无法正常工作。初始尝试 state)</option> < op...
    编程 发布于2025-05-01
  • 在Java中如何为PNG文件添加坐标轴和标签?
    在Java中如何为PNG文件添加坐标轴和标签?
    如何用java 在现有png映像中添加轴和标签的axes和labels如何注释png文件可能具有挑战性。与其尝试可能导致错误和不一致的修改,不如建议在图表创建过程中集成注释。使用JFReechArt import java.awt.color; 导入java.awt.eventqueue; 导入...
    编程 发布于2025-05-01
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-05-01
  • PHP与C++函数重载处理的区别
    PHP与C++函数重载处理的区别
    作为经验丰富的C开发人员脱离谜题,您可能会遇到功能超载的概念。这个概念虽然在C中普遍,但在PHP中构成了独特的挑战。让我们深入研究PHP功能过载的复杂性,并探索其提供的可能性。在PHP中理解php的方法在PHP中,函数超载的概念(如C等语言)不存在。函数签名仅由其名称定义,而与他们的参数列表无关。...
    编程 发布于2025-05-01
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-05-01
  • 如何从2D数组中提取元素?使用另一数组的索引
    如何从2D数组中提取元素?使用另一数组的索引
    Using NumPy Array as Indices for the 2nd Dimension of Another ArrayTo extract specific elements from a 2D array based on indices provided by a second ...
    编程 发布于2025-05-01
  • 为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    为什么在我的Linux服务器上安装Archive_Zip后,我找不到“ class \” class \'ziparchive \'错误?
    class'ziparchive'在Linux Server上安装Archive_zip时找不到错误 commant in lin ins in cland ins in lin.11 on a lin.1 in a lin.11错误:致命错误:在... cass中找不到类z...
    编程 发布于2025-05-01
  • JavaScript中如何动态访问全局变量?
    JavaScript中如何动态访问全局变量?
    在JavaScript 一种方法是使用窗口对象存储和检索变量。通过引用全局范围,可以使用其名称动态访问变量。 //一个脚本 var somevarname_10 = 20; //另一个脚本 window.all_vars = {}; window.all_vars ['somevarnam...
    编程 发布于2025-05-01
  • 为什么我在PHP中遇到“未定义函数mysql_connect()”错误?
    为什么我在PHP中遇到“未定义函数mysql_connect()”错误?
    故障排除“未定义的函数mysql_connect()” 在尝试使用mysql时,插入“未定义函数mysql_connect()”错误?这是解决此问题的综合指南。分析SolutionTo address this issue, you have two options:1.迁移到PDO或MySQLI...
    编程 发布于2025-05-01
  • 您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    在javascript console 中显示颜色是可以使用chrome的控制台显示彩色文本,例如红色的redors,for for for for错误消息?回答是的,可以使用CSS将颜色添加到Chrome和Firefox中的控制台显示的消息(版本31或更高版本)中。要实现这一目标,请使用以下模...
    编程 发布于2025-05-01
  • Java为何无法创建泛型数组?
    Java为何无法创建泛型数组?
    通用阵列创建错误 arrayList [2]; JAVA报告了“通用数组创建”错误。为什么不允许这样做?答案:Create an Auxiliary Class:public static ArrayList<myObject>[] a = new ArrayList<myO...
    编程 发布于2025-05-01
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-05-01
  • 如何有效地转换PHP中的时区?
    如何有效地转换PHP中的时区?
    在PHP 利用dateTime对象和functions DateTime对象及其相应的功能别名为时区转换提供方便的方法。例如: //定义用户的时区 date_default_timezone_set('欧洲/伦敦'); //创建DateTime对象 $ dateTime = ne...
    编程 发布于2025-05-01

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3