mcrypt在php7.2中已经废弃。请改用openssl。例如`public``function``desEncrypt(``$str``,``$key``){``$iv``=``$key``;``$size``=mcrypt_get_block_size(MCRYPT_DES,MCRYPT_MODE_CBC);``$str``=``$this``->_pkcs5_pad(``$str``,``$size``);``return``strtoupper``(bin2hex(mcrypt_encrypt(MCRYPT_DES,``$key``,``$str``,MCRYPT_MODE_CBC,``$iv``))));``}``public``function``desDecrypt(``$str``,``$key``){``$iv``=``$key``;``$strBin``=``$this``->_hex2bin(``strtolower``(``$str``));``$str``=mcrypt_decrypt(MCRYPT_DES,``$key``,``$strBin``,MCRYPT_MODE_CBC,``$iv``);``$str``=``$this``->_pkcs5_unpad(``$str``);``return``$str``;``}``private``function``_pkcs5_pad(``$text``,``$block``=8){``$pad``=``$block``-(``s??trlen``(``$text``)%``$block``);``return``$text``.``str_repeat``(``chr``(``$pad``),``$pad``);``}``private``function``_pkcs5_unpad(``$text``){``$pad``=ord(``$text``{``strlen``(``$text``)-1});``if``(``$pad``>``strlen``(``$text``))``return``$text``;``if``(``strspn``(``$text``,``chr``(``$pad``),``strlen``(``$text``)-``$pad``)!=``$pad``)``return``$text``;``return``substr``(``$text``,0,-1*``$pad``);``}`替换后:`//要修改的加密``public``function``desEncrypt($str,$key){``//$b=openssl_get_cipher_methods();``//echo'
';``//print_r($b);``$iv=$key;``//$size=mcrypt_get_block_size(MCRYPT_DES,MCRYPT_MODE_CBC);``//var_dump($size);退出;``//$str=$this->_pkcs5_pad($str,$size);``//returnstrtoupper(bin2hex(mcrypt_encrypt(MCRYPT_DES,$key,$str,MCRYPT_MODE_CBC,$iv)));``$data=openssl_encrypt($str,``"DES-CBC"``,$key,OPENSSL_RAW_DATA,$iv);``$data=strtolower(bin2hex($data));``return``$data;``}``//要修改的解密``public``function``desDecrypt($str,$key){``$iv=$key;``//$strBin=$this->_hex2bin(strtolower($str));``//$str=mcrypt_decrypt(MCRYPT_DES,$key,$strBin,MCRYPT_MODE_CBC,$iv);``//$str=$this->_pkcs5_unpad($str);``//return$str;``return``openssl_decrypt(hex2bin($str),``'DES-CBC'``,$key,OPENSSL_RAW_DATA,$iv);``}`这些网上都有,因为笔者在使用过程中使用了MCRYPT\_DES,无法知道openssl对应的是哪种加密方式,所以通过手册找到了openssl\_get\_cipher\_methods();这个方法可以找出openssl支持的所有方法都可以替换`echo``''``;``$a``=openssl_get_cipher_methods();``print_r(``$a``);``Array``(``[0]=>AES-128-CBC``[1]=>AES-128-CFB``[2]=>AES-128-CFB1``[3]=>AES-128-CFB8``[4]=>AES-128-CTR``[5]=>AES-128-ECB``[6]=>AES-128-OFB``[7]=>AES-128-XTS``[8]=>AES-192-CBC``[9]=>AES-192-CFB``[10]=>AES-192-CFB1``[11]=>AES-192-CFB8``[12]=>AES-192-CTR``[13]=>AES-192-ECB``[14]=>AES-192-OFB``[15]=>AES-256-CBC``[16]=>AES-256-CFB``[17]=>AES-256-CFB1``[18]=>AES-256-CFB8``[19]=>AES-256-CTR``[20]=>AES-256-ECB``[21]=>AES-256-OFB``[22]=>AES-256-XTS``[23]=>BF-CBC``[24]=>BF-CFB``[25]=>BF-ECB``[26]=>BF-OFB``[27]=>CAMELLIA-128-CBC``[28]=>CAMELLIA-128-CFB``[29]=>CAMELLIA-128-CFB1``[30]=>CAMELLIA-128-CFB8``[31]=>CAMELLIA-128-ECB``[32]=>CAMELLIA-128-OFB``[33]=>CAMELLIA-192-CBC``[34]=>CAMELLIA-192-循环流化床``[35]=>CAMELLIA-192-CFB1``[36]=>CAMELLIA-192-CFB8``[37]=>CAMELLIA-192-ECB``[38]=>CAMELLIA-192-OFB``[39]=>CAMELLIA-256-CBC``[40]=>CAMELLIA-256-CFB``[41]=>CAMELLIA-256-CFB1``[42]=>CAMELLIA-256-CFB8``[43]=>CAMELLIA-256-ECB``[44]=>CAMELLIA-256-OFB``[45]=>CAST5-CBC``[46]=>CAST5-CFB``[47]=>CAST5-ECB``[48]=>CAST5-OFB``[49]=>DES-CBC``[50]=>DES-CFB``[51]=>DES-CFB1``[52]=>DES-CFB8``[53]=>DES-ECB``[54]=>DES-EDE``[55]=>DES-EDE-CBC``[56]=>DES-EDE-CFB``[57]=>DES-EDE-OFB``[58]=>DES-EDE3``[59]=>DES-EDE3-CBC``[60]=>DES-EDE3-CFB``[61]=>DES-EDE3-CFB1``[62]=>DES-EDE3-CFB8``[63]=>DES-EDE3-OFB``[64]=>DES-OFB``[65]=>DESX-CBC``[66]=>IDEA-CBC``[67]=>IDEA-CFB``[68]=>IDEA-ECB``[69]=>IDEA-OFB``[70]=>RC2-40-CBC``[71]=>RC2-64-CBC``[72]=>RC2-CBC``[73]=>RC2-CFB``[74]=>RC2-ECB``[75]=>RC2-OFB``[76]=>RC4``[77]=>RC4-40``[78]=>RC4-HMAC-MD5``[79]=>SEED-CBC``[80]=>SEED-CFB``[81]=>SEED-ECB``[82]=>SEED-OFB``[83]=>aes-128-cbc``[84]=>aes-128-cfb``[85]=>aes-128-cfb1``[86]=>aes-128-cfb8``[87]=>aes-128-ctr``[88]=>aes-128-ecb``[89]=>aes-128-gcm``[90]=>aes-128-ofb``[91]=>aes-128-xts``[92]=>aes-192-cbc``[93]=>aes-192-cfb``[94]=>aes-192-cfb1``[95]=>aes-192-cfb8``[96]=>aes-192-ctr``[97]=>aes-192-ecb``[98]=>aes-192-gcm``[99]=>aes-192-ofb``[100]=>aes-256-cbc``[101]=>aes-256-cfb``[102]=>aes-256-cfb1``[103]=>aes-256-cfb8``[104]=>aes-256-ctr``[105]=>aes-256-ecb``[106]=>aes-256-gcm``[107]=>aes-256-ofb``[108]=>aes-256-xts``[109]=>bf-cbc``[110]=>bf-cfb``[111]=>bf-ecb``[112]=>bf-ofb``[113]=>camellia-128-cbc``[114]=>camellia-128-cfb``[115]=>山茶花-128-cfb1``[116]=>camellia-128-cfb8``[117]=>camellia-128-ecb``[118]=>camellia-128-ofb``[119]=>camellia-192-cbc``[120]=>camellia-192-cfb``[121]=>camellia-192-cfb1``[122]=>camellia-192-cfb8``[123]=>camellia-192-ecb``[124]=>camellia-192-ofb``[125]=>camellia-256-cbc``[126]=>camellia-256-cfb``[127]=>camellia-256-cfb1``[128]=>camellia-256-cfb8``[129]=>camellia-256-ecb``[130]=>camellia-256-ofb``[131]=>cast5-cbc``[132]=>cast5-cfb``[133]=>cast5-ecb``[134]=>cast5-ofb``[135]=>des-cbc``[136]=>des-cfb``[137]=>des-cfb1``[138]=>des-cfb8``[139]=>des-ecb``[140]=>des-ede``[141]=>des-ede-cbc``[142]=>des-ede-cfb``[143]=>des-ede-ofb``[144]=>des-ede3``[145]=>des-ede3-cbc``[146]=>des-ede3-cfb``[147]=>des-ede3-cfb1``[148]=>des-ede3-cfb8``[149]=>des-ede3-ofb``[150]=>des-ofb``[151]=>desx-cbc``[152]=>id-aes128-GCM``[153]=>id-aes192-GCM``[154]=>id-aes256-GCM``[155]=>idea-cbc``[156]=>idea-cfb``[157]=>idea-ecb``[158]=>idea-ofb``[159]=>rc2-40-cbc``[160]=>rc2-64-cbc``[161]=>rc2-cbc``[162]=>rc2-cfb``[163]=>rc2-ecb``[164]=>rc2-ofb``[165]=>rc4``[166]=>rc4-40``[167]=>rc4-hmac-md5``[168]=>seed-cbc``[169]=>seed-cfb``[170]=>seed-ecb``[171]=>seed-ofb``)`希望能帮到你!