php mcrypt取消,PHP 7.2中移除Mcrypt的准备工作
PHP 7.2中移除Mcrypt的准备工作
因此,随着时间的推移,mcrypt将在PHP7.2中运行。当然,还有一种选择:OpenSSL。
我发现很难从mcrypt切换到OpenSSL,使用AES 256 CBC并保留IVs。我对密码学有点陌生,所以我并不是什么都知道,但我了解基本知识。
假设我有以下代码function encrypt($masterPassword, $data) {
$keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($ivSize, MCRYPT_DEV_URANDOM);
$key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
return base64_encode($iv . $encrypted);}function decrypt($masterPassword, $base64) {
$keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize);
$data = base64_decode($base64);
$iv = substr($data, 0, $ivSize);
$encrypted = substr($data, $ivSize, strlen($data));
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv);
return trim($decrypted);}
如何将此代码“转换”为使用mcrypt中的OpenSSL?
php mcrypt取消,PHP 7.2中移除Mcrypt的准备工作相关推荐
- VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色
VMware报错:VMware Workstation 与 Hyper-V 不兼容.请先从系统中移除 Hyper-V 角色... 原因是VMware Workstation和Windows的Hyper ...
- 不要在viewWillDisappear:方法中移除通知
都知道viewWillAppear:方法是在控制器的view将要显示的时候调用的,而viewWillDisappear:方法是在控制器的view将要隐藏的时候调用. 这看上去没什么问题,键盘的显示和隐 ...
- 尽量不要在viewWillDisappear:方法中移除通知
本文转自CocoaChina 在了解控制器的生命周期之后,我们都知道viewWillAppear:方法是在控制器的view将要显示的时候调用的,而viewWillDisappear:方法是在控制器的v ...
- VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色,然后再运行 VMware Workstation。
VMware Workstation 与 Hyper-V 不兼容.请先从系统中移除 Hyper-V 角色,然后再运行 VMware Workstation. 安装好了虚拟机后出现了这个问题. 解决方案 ...
- mcrypt cbc php7,PHP7.1中使用openssl替换mcrypt的实例详解
在php开发中,使用mcrypt相关函数可以很方便地进行AES加.解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现.在迁移手册中已经指出了用openssl代替mcrypt,但 ...
- 在idea中移除子模块Moudle后重新导入
在idea中移除模块并不是真正的移除,重新添加 1.按快捷键:crtl+shift+alt+s 打开 Project Structure 2.点击左侧Moudles 3.点击+号然后点击 import ...
- powershell 自动从组中移除禁用的账号
1.特定组中移除禁用账号 $group= "testgroup" $members = Get-ADGroupMember -Identity $group foreach ($m ...
- 从Hadoop集群中移除一块磁盘的操作
2019独角兽企业重金招聘Python工程师标准>>> 背景 由于历史原因,CDH的hadoop的每个DataNode节点下挂载了多个磁盘,后要对一些配置差的磁盘要用配置较好的新磁盘 ...
- 【Linux 内核】实时调度类 ⑦ ( 实时调度类核心函数源码分析 | dequeue_task_rt 函数 | 从执行队列中移除进程 )
文章目录 一.dequeue_task_rt 函数 ( 从执行队列中移除进程 ) 二.update_curr_rt 函数 ( 更新调度信息 ) 本篇博客中 , 开始分析 struct sched_cl ...
最新文章
- Hadoop中Context类的作用和Mapper<LongWritable, Text, Text, LongWritable>.Context context是怎么回事【笔记自用】
- 如何优化增强第三方库?
- vmware-设置共享文件夹
- 尚学堂java 参考答案 第八章
- 系统吞吐量评估方法 冯凌圣
- 淘宝电商页面和产品海报设计PSD分层素材模板
- POJ 2425 A Chess Game(有向图SG函数)题解
- 如何对AWS RDS SQL Server数据库进行分类
- java常用类有哪些_java中的常用类有哪些
- Tomcat配置阿里云免费的SLL证书
- golang编译时报错:Get “https://proxy.golang.org/github.com/antihax/optional/@v/v1.0.0.mod“: dial tcp 172.2
- 人脸检测(十八)--TinyFace(S3FD,SSH,HR,RSA,Face R-CNN,PyramidBox)
- 网络对抗——web基础
- C#在winform中页面跳转实现
- 负温度相对湿度与绝对湿度换算
- 性能测试(二)-重要性能指标TPS、RT
- seaborn调色板 color, hls, cubehelix, dark, diverging_palette
- java native方法及JNI实例
- 大数据培训—DolphinSchedular(一)
- (vector)堆积木
热门文章
- 管理类联考笔试还是计算机考,管理类联考笔试究竟难在哪儿?
- Linux操作系统浅尝辄止
- 使用友盟推送,别名(alias)推送
- Apple可以改善下一代Apple Watch的4种心率变异性数据的方法
- php 接口的token
- linux装入u盘分区失败,linux下U盘分区表修复解决识别问题
- Python Excel 数组 for循环无法一次性全部删除问题原因解决
- 阿里云Code(code.aliyun)提交代码时报错fatal: Authentication failed for‘https://code.aliyun.com/...‘身份验证失败
- android webview 自适应屏幕宽度,Android应用开发Android Webview适配屏幕宽度
- 抠图,水印,人物精修,加背景-----ps