如何在php中使用加密解密类

  介绍

如何在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中使用加密解密类