php mcript(),PHP基于mcript扩展实现对称加密功能
本文实例讲述了PHP基于mcript扩展实现对称加密功能,结合实例形式简单分析了php使用mcript扩展进行加密与解密相关操作技巧,分享给大家供大家参考,具体如下:
1.对称加密主要利用相同的密钥来实现,而非对称加密利用公钥和私钥来加密,比较而言对称加密速度快,但是安全性要低
为什么使用base64_encode(),主要是用于传参,直接加密完成后不是我们能理解的字符串,也就是大家所说的乱码
2.进行加密(使用mcript扩展,DES类型),关键点在于$key="key:1111",相同的密钥串
header("content-type:text/html;charset=utf-8");
$str = "我是加密前的内容"; //加密内容
$key = "key:1111"; //密钥
$cipher = MCRYPT_DES; //密码类型
$modes = MCRYPT_MODE_ECB; //密码模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."
";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数
echo "加密密文:".$str_encrypt."
";
echo $str_encrypt=base64_encode($str_encrypt);
运行结果:
加密明文:我是加密前的内容
加密密文:���v꺾�”����c����~�Zi
trn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf
3.进行解密,$key=”key:1111″,相同的密钥串
header("content-type:text/html;charset=utf-8");
$key = "key:1111"; //密钥
$cipher = MCRYPT_DES; //密码类型
$modes = MCRYPT_MODE_ECB; //密码模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
$str_encrypt="trn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf";//这里的值是第2步中的$str_encrypt=base64_encode($str_encrypt);
$str_encrypt=base64_decode($str_encrypt);
echo "加密密文:".$str_encrypt."
";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数
echo "还原:".$str_decrypt;
运行结果:
加密密文:���v꺾�”����c����~�Zi
还原:我是加密前的内容
php mcript(),PHP基于mcript扩展实现对称加密功能相关推荐
- 基于openssl的EVP对称加密C语言单独实现
基于openssl的EVP对称加密C语言单独实现 代码实现 运行结果 说明 在 <基于openssl的EVP对称加密C语言实战案例>这篇博客的基础上将代码提出到独立的.c文件,可以单独进行 ...
- python对称加密_【Python】 基于秘钥的对称加密
[Crypto] 关于用python进行信息的加密,类似的解决方案有很多比如用base64编码进行encode,再或者是hashlib来进行hash.但是还缺少一种明明场景很简单的解决方案,就是把利用 ...
- 基于openssl的EVP对称加密C语言实战案例
根据解密算法代码反推实现加密算法 说明 先上已经实现的解密代码 加密接口实现 参考 说明 为保证项目安全,本文章使用的加解密相关的代码变量szSalt,szKey,nrounds,gszKey等变量为 ...
- 基于可扩展的计算机网络管理技术
计算机网络技术与人们日常生产生活之间的关系日益密切.计算机网络不仅改变人们获取信息的方式,也实现了信息共享.虽然计算机网络技术日新月异,但是随着其发展,一些潜在的安全问题开始显现.这些问题严重影响了网 ...
- mysql for循环_基于Swoole扩展开发异步高性能的MySQL代理服务器
MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵.开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减 ...
- ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法
ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法 一.前言 在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类 ...
- mysql异步扩展_基于Swoole扩展开发异步高性能的MySQL代理服务器
MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵.开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减 ...
- 使用php开发,基于swoole扩展开发的工具 swoole-crontab
2019独角兽企业重金招聘Python工程师标准>>> 使用php开发,基于swoole扩展开发的工具 swoole-crontab https://www.oschina.net/ ...
- java-信息安全(九)-基于DH,非对称加密,对称加密等理解HTTPS
概述 java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS 如果想要理解好https,请尽量了解好以上信息等. 参看文章: http://www.ruanyifeng.com/blog/ ...
最新文章
- OpenCV中的全景拼接例程
- Openstack组件部署 — Overview和前期环境准备
- python dict 字典 清空
- 14年12月CCF真题4-最优灌溉
- Alpha冲刺(8/10)
- python3循环一直到一个值结束_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...
- DAS,NAS,SAN在数据库存储上的应用
- 使用Hot Chocolate创建ASP.NET Core GraphQL服务
- PHP-php.ini中文版
- 转 从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
- java时间格式24小时制12小时制
- ISAServer***检测及配置
- python导入模块_Python导入
- 【推荐系统】那些年, 引用量超1000的经典推荐系统论文
- keepalved 双机热备
- Linux CentOS上用iptables设置防火墙遇到的问题
- 马尔可夫不等式、切比雪夫不等式、柯西-施瓦茨不等式
- 抖音用什么编程语言_抖音是哪个公司的 抖音app所属公司 是哪个公司开发的
- 【良心推荐】国内适合中小企业、团队的十大协同办公系统
- 计算机知识大赛五书,2017昆山千灯镇事业单位考试常识——昆山市情解析
热门文章
- 序列化类型为XX的对象时检测到循环引用
- git 拉取和获取 pull 和 fetch 区别
- MyEclipse使用总结——使用MyEclipse打包带源码的jar包
- SQL SERVER 2005 进行XML查询
- springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现
- Linux OOM 自动杀死进程(转)
- 算法数据结构(一)-B树
- 数据量很大的排序问题 大量数据如何排序,没有做测试
- Vue报错bash: vue: command not found或者vue ui没有反应:官方修改成新的命令了
- PHP的Composer:命令 符号 区别