如何在PHP中使用mcript扩展实现一个对称加密功能

  介绍

这篇文章将为大家详细讲解有关如何在PHP中使用mcript扩展实现一个对称加密功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

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

2。进行加密(使用mcript扩展,DES类型),关键点在于<代码> $关键=肮丶?1111年“> & lt; PHP ?   头(“内容类型:text/html; charset=utf-8");   str 美元;=,“我是加密前的内容,,,//加密内容   $ key =,“关键:1111,,,//密钥   $ cipher =, MCRYPT_DES;,//密码类型   $ modes =, MCRYPT_MODE_ECB;,//密码模式   $ iv =, mcrypt_create_iv (mcrypt_get_iv_size(密码,美元模式),MCRYPT_RAND);//初始化向量   echo “加密明文:“。美元str !”& lt; p>“;   str_encrypt 美元;=,mcrypt_encrypt(密码、密钥,str美元,美元模式,4美元),,//加密函数   echo “加密密文:“。美元str_encrypt干净,& lt; p>“;   echo  str_encrypt=base64_encode美元($ str_encrypt);

运行结果:

加密明文:我是加密前的内容
加密密文:? ? ? v ? ?“? ? ? ? ? ? ? ? ~ ?子

trn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf

3。进行解密,$关键=肮丶?1111“相同的密钥串

& lt; php ?   头(“内容类型:text/html; charset=utf-8");   $ key =,“关键:1111,,,//密钥   $ cipher =, MCRYPT_DES;,//密码类型   $ modes =, MCRYPT_MODE_ECB;,//密码模式   $ iv =, mcrypt_create_iv (mcrypt_get_iv_size(密码,美元模式),MCRYPT_RAND);//初始化向量   $ str_encrypt=皌rn1duq6vt4i8v66Ea9jo7qZ2X7JWmkf"//这里的值是第2步中美元的str_encrypt=base64_encode ($ str_encrypt);   (str_encrypt=base64_decode美元str_encrypt);   echo “加密密文:“。美元str_encrypt干净,& lt; p>“;   $ str_decrypt =, mcrypt_decrypt(密码、密钥,美元str_encrypt美元,美元模式,4美元),,//解密函数   echo “还原:“。str_decrypt美元;

运行结果:

加密密文:? ? ? v ? ?“? ? ? ? ? ? ? ? ~ ?子
还原:我是加密前的内容

如何在PHP中使用mcript扩展实现一个对称加密功能