php mcrypt openssl,用OpenSSL取代Mcrypt
用OpenSSL取代Mcrypt
目前我们在我们的系统上有一个mcrypt实现,用于在PHP应用程序中隐藏一些敏感数据。现在我们有了一个新的要求,我们必须将crypt模块更改为openssl。另一件重要的事情是我们使用密码河豚和模式ecb。所以我开始测试有什么区别以及如何使用openssl解密mcrypt加密字符串。
我使用标准的PHP函数:mcrypt_encrypt与openssl_encrypt
mcrypt_decrypt与openssl_decrypt
两种方法都会产生不同的结果。第二件事是在两种类型的给定密码(河豚)和模式(ecb)中需要不同的IV长度(openssl = 0和mcrypt = 56)。
有没有人知道如何在没有大量迁移工作的情况下轻松更改模块?
提前致谢!
更新:
这是代码,我测试了它:<?php
function say($message){
if(!is_string($message)){
if(!isset($_SERVER["HTTP_USER_AGENT"])) echo "
";
echo var_export($message, true) . ((!isset($_SERVER["HTTP_USER_AGENT"]) ? "\n" : "
"));
if(!isset($_SERVER["HTTP_USER_AGENT"])) echo "
";
}else{
echo $message . ((!isset($_SERVER["HTTP_USER_AGENT"]) ? "\n" : "
"));
}}say("= Begin raw encryption");$key = "anotherpass";$str = "does it work";say(" Params:");say(" - String to encrypt '".$str."'");say(" - Key: ".$key);say("");$params = array(
"openssl" => array(
"cipher" => "BF",
"mode" => "ECB",
),
"mcrypt" => array(
"cipher" => "blowfish",
"mode" => "ecb",
),);
这是我的结果:= Begin raw encryption Params:
- String to encrypt 'does it work'
- Key: anotherpass= Mcrypt
Params:
- InitVector 06a184909d7bf863 (bin2hex)
- Max keysize 56
- Cipher blowfish - Mode ecb Encryption:
- Encrypted 0e93dce9a6a88e343fe5f90d1307684c (bin2hex)
- Descrypted does it work= Openssl
Params:
- InitVector not needed - Max keysize 0
- Cipher BF - Mode ECB Encryption:
- Encrypted 213460aade8f9c14d8d51947b8231439 (bin2hex)
- Descrypted does it work
也许现在有什么想法?
谢谢!
php mcrypt openssl,用OpenSSL取代Mcrypt相关推荐
- mcrypt java_使用openssl解密mcrypt
由于mcrypt被认为是过时的,我的任务是升级当前代码以使用openssl . 听起来很简单,但......经过几天的尝试和失败后,我觉得自己很疯狂 . 我的问题是:你有什么方法可以用之前用mcryp ...
- centos7 安装 openssl和openssl升级
一.环境 centos7,openssl-1.1.1g.tar.gz 二.安装步骤 1.下载最新版本: https://mirrors.cloud.tencent.com/openssl/source ...
- OpenSSL 使用openssl工具搭建私有CA
SSL(安全套接层)是为网络通讯提供安全及数据完整性的一种安全协议,TLS(SSL的继承版本)与SSL在传输层对网络连接进行加密. SSL用以保障在数据传输的安全利用数据加密技术,可确保数据在网络上之 ...
- centos php mcrypt,CentOS下安装Php mcrypt扩展方法
PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障.PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库Mcrypt和Mhash. 其 ...
- linux交叉编译openssl,交叉编译openssl for linux arm-v5te-linux-gnueabi工具链
我遇到了同样的问题并写了一本关于如何交叉编译openssl for arm的手册 . 我希望本手册能给你一些想法: 这个过程非常简单 . 在本手册中,我们将给出一个在Ubuntu Linux系统中交叉 ...
- 关于 ubuntu上qt5.9.3使用openssl出现“openssl unsupport platform” 的解决方法
欢迎技术交流和帮助,提供IT相关服务,索要源码请联系博主QQ: 21497936,若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 ...
- php openssl加密数据长度,PHP使用openssl解密数据(用mcrypt加密)
所以我不需要评论3DES不安全和ECB不好等等,我们知道,这就是为什么我们试图解密,以有一个更好的加密算法. 我在下面提供了使用mcrypt进行加密的代码,以及我们试图使用的1行代码(openssl) ...
- 【OpenSSL】OpenSSL之SHA
00. 目录 文章目录 00. 目录 01. SHA-1介绍 02. SHA-0和SHA-1 2.1 SHA-0的破解 2.2 SHA-1的破解 03. OpenSSL中SHA 04. SHA1测试 ...
- 【OpenSSL】OpenSSL之MD5
00. 目录 文章目录 00. 目录 01. MD5简介 02. 发展历史 03. MD5应用场景 04. OpenSSL中MD5 05. MD5测试代码 06. 附录 01. MD5简介 MD5信息 ...
最新文章
- mysql repair 索引_mysql 删除行会重建索引吗
- java 注解使用_Java 注解用法
- java掌握_掌握Java 11的Constantdynamic
- oracle中如何创建dblink
- Alibaba Nacos 服务消费者工程接入nacos并实现调用服务提供者工程
- 【LintCode】算法题 1443. 最长AB子串
- Java自动化测试框架-03 - TestNG之Test Group篇 - (详细教程)
- 返回通知异常通知环绕通知
- 6.这就是搜索引擎:核心技术详解 --- 链接分析
- 区块链 预言机 Oracle是什么 例子
- 注册DLL文件命令的使用方法及详细说明
- 指数函数为例的超越函数的逼近拟合误差分析
- 总有几位老师让你一生感激不尽----老师侯捷
- 数学基础(5)凸优化、最优化理论基础
- chrome浏览器更新后重新安装配置chromedriver
- win7鼠标右键无响应修复
- Windows安装Mysql提示无法定位程序输入点fesetround于动态链接库的解决方案
- SkeyeRTSPLive传统视频监控互联网实现利器解决方案
- ROS集成开发环境 --- RoboWare(安装及学习笔记)
- 【算法小结】费马小定理