美文网首页
php7 DES加密 兼容php5.3以上所有版本

php7 DES加密 兼容php5.3以上所有版本

作者: 九九九玖 | 来源:发表于2019-04-16 11:37 被阅读0次

加密原方案:
block = mcrypt_get_block_size('des', 'ecb');pad = block - (strlen(str) % block);str .= str_repeat(chr(pad),pad);
data = mcrypt_encrypt(MCRYPT_DES,key, str,MCRYPT_MODE_ECB);ret = base64_encode($data);

其中:mcrypt_get_block_size()mcrypt_encrypt()@deprecated 7.1 就是说在7.1版本之后就被废弃了,不过7.1一下的版本还是支持的

加密替代方案(兼容php5.3以上所有版本):
ret = openssl_encrypt(input,'des-ecb',key,0); //DES 注 * (如果需要3des的话):ret = openssl_encrypt(input,'des-ede3',key,0); //3DES

总结:一句话解决一大段,还可以兼容版本,棒!

解密原方案:
str = base64_decode(str);
str = mcrypt_decrypt(MCRYPT_DES,key, str, MCRYPT_MODE_ECB);block = mcrypt_get_block_size('des', 'ecb');
pad = ord(str[(len = strlen(str)) - 1]);
return substr(str, 0, strlen(str) - $pad);

解密替代方案:
str = openssl_decrypt(str,'des-ecb',key,OPENSSL_ZERO_PADDING);pad = ord(str[(len = strlen(str)) - 1]); return substr(str, 0, strlen(str) -pad);

解密方案不再赘述,如需要查看参数可自行查看php官方文档

相关文章

网友评论

      本文标题:php7 DES加密 兼容php5.3以上所有版本

      本文链接:https://www.haomeiwen.com/subject/qigvwqtx.html