将 Mcrypt 转换为 OpenSSL 加密
Mcrypt 是一个遗留加密库,由于安全漏洞和 OpenSSL 作为行业标准的出现而已经退役。虽然从 Mcrypt 切换到 OpenSSL 可能看起来令人畏惧,但可以通过了解关键差异并采取适当的策略来简化它。
密码和填充差异
Blowfish,您正在使用的密码,需要用于加密的数据填充。 OpenSSL 使用 PKCS#7 填充,而 Mcrypt 使用 PKCS#5。 PKCS#7 要求最小填充长度为 1,而 PKCS#5 接受 0。这种差异会影响从每个库获得的加密结果。
IV 用法
在 ECB 模式下,您可以使用在使用时,不需要初始化向量(IV)。然而,在其他加密模式中却并非如此。在 ECB 模式下使用 OpenSSL 时,请确保将 IV 长度设置为 0。
加密和解密
要使用 OpenSSL 解密使用 Mcrypt 加密的数据,需要在加密之前使用 PKCS#7 手动填充。这确保了两个库之间的兼容性。
示例代码
提供的代码演示了关键差异和正确的填充技术:
$key = "anotherpassword1"; $str = "does it work 12"; // Mcrypt padding $enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $str."", MCRYPT_MODE_ECB); // OpenSSL padding $enc = openssl_encrypt($str, 'bf-ecb', $key, true); // Decrypt using both methods $dec_mcrypt = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $enc, MCRYPT_MODE_ECB); $dec_openssl = openssl_decrypt($enc, 'bf-ecb', $key, true); echo bin2hex($enc) . PHP_EOL; var_dump($dec_mcrypt); echo PHP_EOL; var_dump($dec_openssl);
此代码演示了成功的加密和解密同时使用 Mcrypt 和 OpenSSL,应用 PKCS#7 填充以实现兼容性。
以上是如何将 Mcrypt 加密转换为 OpenSSL 加密:分步指南的详细内容。更多信息请关注PHP中文网其他相关文章!

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具