介绍
这篇文章将为大家详细讲解有关如何在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扩展实现一个对称加密功能