本文实例讲述了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扩展实现对称加密功能相关推荐

  1. 基于openssl的EVP对称加密C语言单独实现

    基于openssl的EVP对称加密C语言单独实现 代码实现 运行结果 说明 在 <基于openssl的EVP对称加密C语言实战案例>这篇博客的基础上将代码提出到独立的.c文件,可以单独进行 ...

  2. python对称加密_【Python】 基于秘钥的对称加密

    [Crypto] 关于用python进行信息的加密,类似的解决方案有很多比如用base64编码进行encode,再或者是hashlib来进行hash.但是还缺少一种明明场景很简单的解决方案,就是把利用 ...

  3. 基于openssl的EVP对称加密C语言实战案例

    根据解密算法代码反推实现加密算法 说明 先上已经实现的解密代码 加密接口实现 参考 说明 为保证项目安全,本文章使用的加解密相关的代码变量szSalt,szKey,nrounds,gszKey等变量为 ...

  4. 基于可扩展的计算机网络管理技术

    计算机网络技术与人们日常生产生活之间的关系日益密切.计算机网络不仅改变人们获取信息的方式,也实现了信息共享.虽然计算机网络技术日新月异,但是随着其发展,一些潜在的安全问题开始显现.这些问题严重影响了网 ...

  5. mysql for循环_基于Swoole扩展开发异步高性能的MySQL代理服务器

    MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵.开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减 ...

  6. ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法

    ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法 一.前言 在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类 ...

  7. mysql异步扩展_基于Swoole扩展开发异步高性能的MySQL代理服务器

    MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵.开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减 ...

  8. 使用php开发,基于swoole扩展开发的工具 swoole-crontab

    2019独角兽企业重金招聘Python工程师标准>>> 使用php开发,基于swoole扩展开发的工具 swoole-crontab https://www.oschina.net/ ...

  9. java-信息安全(九)-基于DH,非对称加密,对称加密等理解HTTPS

    概述 java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS 如果想要理解好https,请尽量了解好以上信息等. 参看文章: http://www.ruanyifeng.com/blog/ ...

最新文章

  1. OpenCV中的全景拼接例程
  2. Openstack组件部署 — Overview和前期环境准备
  3. python dict 字典 清空
  4. 14年12月CCF真题4-最优灌溉
  5. Alpha冲刺(8/10)
  6. python3循环一直到一个值结束_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...
  7. DAS,NAS,SAN在数据库存储上的应用
  8. 使用Hot Chocolate创建ASP.NET Core GraphQL服务
  9. PHP-php.ini中文版
  10. 转 从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
  11. java时间格式24小时制12小时制
  12. ISAServer***检测及配置
  13. python导入模块_Python导入
  14. 【推荐系统】那些年, 引用量超1000的经典推荐系统论文
  15. keepalved 双机热备
  16. Linux CentOS上用iptables设置防火墙遇到的问题
  17. 马尔可夫不等式、切比雪夫不等式、柯西-施瓦茨不等式
  18. 抖音用什么编程语言_抖音是哪个公司的 抖音app所属公司 是哪个公司开发的
  19. 【良心推荐】国内适合中小企业、团队的十大协同办公系统
  20. 计算机知识大赛五书,2017昆山千灯镇事业单位考试常识——昆山市情解析

热门文章

  1. 序列化类型为XX的对象时检测到循环引用
  2. git 拉取和获取 pull 和 fetch 区别
  3. MyEclipse使用总结——使用MyEclipse打包带源码的jar包
  4. SQL SERVER 2005 进行XML查询
  5. springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现
  6. Linux OOM 自动杀死进程(转)
  7. 算法数据结构(一)-B树
  8. 数据量很大的排序问题 大量数据如何排序,没有做测试
  9. Vue报错bash: vue: command not found或者vue ui没有反应:官方修改成新的命令了
  10. PHP的Composer:命令 符号 区别