当前位置:首页 > PHP教程 > php应用 > 列表

PHP基于mcript扩展实现对称加密功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-10 16:21:20 浏览: 评论:0 

这篇文章主要介绍了PHP基于mcript扩展实现对称加密功能,结合实例形式简单分析了php使用mcript扩展进行加密与解密相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP基于mcript扩展实现对称加密功能,分享给大家供大家参考,具体如下:

1.对称加密主要利用相同的密钥来实现,而非对称加密利用公钥和私钥来加密,比较而言对称加密速度快,但是安全性要低

为什么使用base64_encode(),主要是用于传参,直接加密完成后不是我们能理解的字符串,也就是大家所说的乱码

2.进行加密(使用mcript扩展,DES类型),关键点在于$key="key:1111",相同的密钥串

  1. <?php 
  2. header("content-type:text/html;charset=utf-8"); 
  3. $str = "我是加密前的内容"//加密内容 
  4. $key = "key:1111"//密钥 
  5. $cipher = MCRYPT_DES; //密码类型 
  6. $modes = MCRYPT_MODE_ECB; //密码模式 
  7. $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量 
  8. echo "加密明文:".$str."<p>"
  9. $str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数 
  10. echo "加密密文:".$str_encrypt." <p>"
  11. echo $str_encrypt=base64_encode($str_encrypt); 

运行结果:

加密明文:我是加密前的内容

加密密文:���v꺾�"����c����~�Zi

trn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf

3.进行解密,$key="key:1111",相同的密钥串

  1. <?php 
  2. header("content-type:text/html;charset=utf-8"); 
  3. $key = "key:1111"//密钥 
  4. $cipher = MCRYPT_DES; //密码类型 
  5. $modes = MCRYPT_MODE_ECB; //密码模式 
  6. $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量 
  7. $str_encrypt="trn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf";//这里的值是第2步中的$str_encrypt=base64_encode($str_encrypt); 
  8. $str_encrypt=base64_decode($str_encrypt); 
  9. echo "加密密文:".$str_encrypt." <p>"
  10. $str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数 
  11. echo "还原:".$str_decrypt

运行结果:

加密密文:���v꺾�"����c����~�Zi

还原:我是加密前的内容

Tags: mcript PHP对称加密

分享到: