php mcrypt aes,简单的PHP加密/解密(Mcrypt,AES)
我正在寻找使用Mcrypt的简单但加密强大的AES实现AES.
希望将其归结为一对简单的函数,$garble = encrypt($key,$payload)和$payload = decrypt($key,$garble).
解决方法:
我最近正在学习这个主题,并将此答案作为社区维基发布,以分享我的知识,有待纠正.
我的理解是,使用Mcrypt可以使用以下常量作为选项来实现AES:
MCRYPT_RIJNDAEL_128 // as cipher
MCRYPT_MODE_CBC // as mode
MCRYPT_MODE_DEV_URANDOM // as random source (for IV)
在加密期间,应使用随机化的非秘密初始化向量(IV)来随机化每个加密(因此相同的加密永远不会产生相同的加密).该IV应附加到加密结果,以便在解密期间稍后使用.
结果应为Base 64编码,以实现简单的兼容性.
执行:
define('IV_SIZE', mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC));
function encrypt ($key, $payload) {
$iv = mcrypt_create_iv(IV_SIZE, MCRYPT_DEV_URANDOM);
$crypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $payload, MCRYPT_MODE_CBC, $iv);
$combo = $iv . $crypt;
$garble = base64_encode($iv . $crypt);
return $garble;
}
php mcrypt aes,简单的PHP加密/解密(Mcrypt,AES)相关推荐
- (三)Kotlin加密/解密之AES和DES
Kotlin加密/解密系列 (一)Kotlin加密/解密之ASCII码 (二)Kotlin加密/解密之凯撒加密算法 文章目录 Kotlin加密/解密系列 前言 一.加密算法 二.Base64编码 1. ...
- getcoo php_PHP简单实现DES加密解密的方法
本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_ ...
- mcrypt php 加密解密,mcrypt启用 加密以及解密过程详细解析
Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原. 1.PHP加密扩展库Mcrypt安装在标准的PHP安装过程中并没有把Mrcypt安装上,但PHP的主目录下包含了libmc ...
- Java简单实现DES加密解密算法
Java简单实现DES加密解密算法 文章目录 Java简单实现DES加密解密算法 DES算法介绍 实现相关java类 代码实现 DES算法介绍 DEC加密算法属于对称加密,即利用指定的密钥,按照密码的 ...
- 小工具分享----Java简单的文字加密解密
今天有空自己制作了一个jar包,用于实现java中简单的文字加密解密功能,保存可用于以后需要的项目中,再也不用耗时间去网上找资源了,值得收藏!戳这里---------https://download. ...
- AES 128位CBC加密解密(不使用固定IV)
安全检查时要求账号和密码加密后才能存到数据库中,要求加密算法如下: 1)分组密码算法:AES(密钥长度在128位及以上)(GCM或CBC模式) 2)流密码算法:AES(密钥长度在128位及以上)(OF ...
- C#.Net中的加密解密(AES、DES、RSA、MD5)、数字证书、HTTPS
一.信息安全的基本概念,以及为什么要使用加密? 1.信息安全的定义 保密性(Confidentiality) 只有你自己和你允许的人能看到相关的信息. 完整性(Integrity) 信息收发过程中 ...
- C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...
- aes js 加盐值 解密_crypto-js aes加密解密
安装 npm install crypto-js --save unit.js import CryptoJS from "crypto-js"; //秘钥 const CRYPT ...
最新文章
- 为什么需要 外键 呢?
- HDU2085:核反应堆(递推)
- Markdown基础语法小结
- gperf工具的使用
- UVA 1210 Sum of Consecutive Prime Numbers
- 大数据之-Hadoop3.x_Yarn_基础架构---大数据之hadoop3.x工作笔记0141
- 手动绘制DataTable
- getComputedStyle
- s400x ugee 驱动_联想_ThinkPad|ThinkCentre|ThinkStation服务与驱动下载_常见问题
- 北京圣思园经典Java培训教学视频分享
- SNF快速开发平台2020版
- 移动端以及 PC浏览器页面分享到朋友圈等的功能实现
- MQTT系列 | Retained消息和LWT和Keep Alive
- html手机打不开是什么意思,html是什么意思
- 一意孤行亚马逊----一个钓鱼疯子的巴西亚马逊之行( 11.9月 27日 最惨的一天 ) 作者:咸水鱼...
- kdj超卖_kdj超卖是什么意思?kdj超买超卖区别是什么
- 1-4 Linux 标准目录结构FHS
- 数据库【MySQL数据库介绍】
- es报错:request contains unrecognized parameter [ignore_throttled]
- 豆瓣读书top250爬取
热门文章
- c语言求ln1加到lnn的平方根,ln函数的运算法则
- hohi装修一年后的总结(完整版)_给要装修的人
- 环保制作废物利用计算机,生活中的“废物利用”大全!(环保、实用)
- 如何使用有限元分析确定角焊缝的尺寸
- Winows Server 2019 激活正确姿势!
- OpenCV编译错误:/usr/include/c++/5/bits/stl_algobase.h:604:58: ...
- Qt 视频上叠加透明图片
- 教你如何将CA证书导入Android手机
- ROW_NUMBER ( )去重并根据条件保留数据--开窗函数使用
- 计算机会计电算化与实训报告,【会计电算化实训报告心得体会_2021年会计实训】- 环球网校...