介绍
如何在php中使用加密解密DES类?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
php的框架有哪些
php的框架:1,Laravel, Laravel是一款免费并且开源的php应用框架。2,Phalcon, Phalcon是运行速度最快的一个php框架。3,Symfony, Symfony是一款为Web项目准备的php框架。4,Yii, Yii是一款快速、安全和专业的php框架。5,CodeIgniter, CodeIgniter是一款非常敏捷的开源php框架。6,CakePHP, CakePHP是一款老牌的php框架1:8)。Kohana, Kohana是一款敏捷但是功能强大的PHP框架。
代码1:
class DES { var 才能;关键;美元,//,密钥 var 才能;四美元,//,偏移量 function 才能;__construct(,关键美元,美元iv=0,), { ,,,这个→美元key =,美元的关键; ,,,如果,iv 美元;==,0,),{ ,,,,,这个→美元iv =,美元的关键; ,,,},{else ,,,,,这个→美元iv =,四美元,, ,,,,,//,创建初始向量,,并且检测密钥长度,,Windows 平台请使用,MCRYPT_RAND ,,,,,//,mcrypt_create_iv (, mcrypt_get_block_size (MCRYPT_MODE_CBC MCRYPT_DES也),MCRYPT_DEV_RANDOM ); ,,,} ,,} function 才能;加密(str)美元,{ ,,,//加密,返回大写十六进制字符串 ,,,size 美元;=,mcrypt_get_block_size (MCRYPT_DES的不同之处是,MCRYPT_MODE_CBC ); ,,,str 美元;=,$ this→pkcs5Pad (, str美元,美元size ); ,//bin2hex 把,ASCII 字符的字符串转换为十六进制值 ,,,return strtoupper (, bin2hex (, mcrypt_cbc (MCRYPT_DES, $ this→键,,str美元,MCRYPT_ENCRYPT,, $ this→iv ),),); ,,} function 才能解密(str), { ,,,//解密 ,,,strBin 美元;=,$ this→hex2bin(函数,(,str 美元),); ,,,str 美元;=,mcrypt_cbc (MCRYPT_DES,大敌;$ this→键,,strBin美元,MCRYPT_DECRYPT,, $ this→iv ); ,,,str 美元;=,$ this→pkcs5Unpad (, str 美元;); ,,,return str美元; ,,} function 才能hex2bin (hexData美元),{ ,,,binData 美元;=,““ ,,,($小姐:=,0;,美元小姐:& lt;, strlen (, hexData 美元;);,小姐:美元+=,2),{ ,,,,,binData 美元。=,chr (, hexdec (, substr (, hexData美元,美元我,,2,),),); ,,,} ,,,return binData美元; ,,} function 才能;pkcs5Pad(文本、美元,美元blocksize), { ,,,pad 美元;=,blocksize 美元;作用;(strlen (, text 美元),%,blocksize美元); ,,,return text 美元;只str_repeat (, chr (, pad 美元),pad 美元;); ,,} function 才能pkcs5Unpad(文本),{ ,,,pad 美元;=,ord (, text 美元;{strlen (, text 美元),安康;1},); ,,,if (pad 美元;祝辞,strlen (, text 美元;)) ,,,,,return 假; ,,,if (strspn (文本、美元大敌;chr (, pad 美元),strlen (, text 美元),安康;pad 美元),!=,pad)美元 ,,,,,return 假; ,,,return substr (,文本,美元0,,安康;1,*,pad 美元;); ,,} }
弃用:方法具有相同名称的类将不会被构造函数在未来版本的PHP;DES5弃用构造函数在D: \ phpstudy_pro \ WWW \ \ DES5。php> <李>
mcrypt_cbc以CBC模式加解密数据,在php里含有+被弃用,php 7.0.0被移除
李> <李>
mcrypt_encrypt/mcrypt_decrypt使用给定参数加密/解密,在php 7.1.0 +被弃用,在php 7.2.0 +被移除
李>代码2:
class DES7 {//要才能改的加密,,使用,openssl public 才能;function  desEncrypt (str,美元键),{ ,,,iv 美元;=,美元的关键; data 美元,,,,=,openssl_encrypt (str美元,“DES-CBC",钥匙,OPENSSL_RAW_DATA,美元(四); ,,,data 美元;=,函数(bin2hex(数据)美元); ,,,return 元数据; ,,}//要才能改的解密 public 才能;function  desDecrypt (str,美元键),{ ,,,iv 美元;=,美元的关键; ,,,return openssl_decrypt (hex2bin (str)美元,& # 39;des - cbc # 39;,,关键,美元,OPENSSL_RAW_DATA,美元(四); ,,} }如何在php中使用加密解密类