900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > PHP实现的DES加密解密封装类完整办法

PHP实现的DES加密解密封装类完整办法

时间:2023-10-03 04:56:28

相关推荐

PHP实现的DES加密解密封装类完整办法

后端开发|php教程

加密解密,php,方法

后端开发-php教程

key = $key; $this->iv = $iv; } function encrypt($input){$size = mcrypt_get_block_size(MCRYPT_DES,MCRYPT_MODE_CBC); //3DES加密将MCRYPT_DES改为MCRYPT_3DES$input = $this->pkcs5_pad($input, $size); //如果采用PaddingPKCS7,请更换成PaddingPKCS7方法。$key = str_pad($this->key,8,); //3DES加密将8改为24$td = mcrypt_module_open(MCRYPT_DES, \, MCRYPT_MODE_CBC, \);if( $this->iv == \ ){ $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);}else{ $iv = $this->iv;}@mcrypt_generic_init($td, $key, $iv);$data = mcrypt_generic($td, $input);mcrypt_generic_deinit($td);mcrypt_module_close($td);$data = base64_encode($data);//如需转换二进制可改成 bin2hex 转换return $data; } function decrypt($encrypted){$encrypted = base64_decode($encrypted); //如需转换二进制可改成 bin2hex 转换$key = str_pad($this->key,8,); //3DES加密将8改为24$td = mcrypt_module_open(MCRYPT_DES,\,MCRYPT_MODE_CBC,\);//3DES加密将MCRYPT_DES改为MCRYPT_3DESif( $this->iv == \ ){ $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);}else{ $iv = $this->iv;}$ks = mcrypt_enc_get_key_size($td);@mcrypt_generic_init($td, $key, $iv);$decrypted = mdecrypt_generic($td, $encrypted);mcrypt_generic_deinit($td);mcrypt_module_close($td);$y=$this->pkcs5_unpad($decrypted);return $y; } function pkcs5_pad ($text, $blocksize) {$pad = $blocksize - (strlen($text) % $blocksize);return $text . str_repeat(chr($pad), $pad); } function pkcs5_unpad($text){$pad = ord($text{strlen($text)-1});if ($pad > strlen($text)) { return false;}if (strspn($text, chr($pad), strlen($text) - $pad) != $pad){ return false;}return substr($text, 0, -1 * $pad); } function PaddingPKCS7($data) {$block_size = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_CBC);//3DES加密将MCRYPT_DES改为MCRYPT_3DES$padding_char = $block_size - (strlen($data) % $block_size);$data .= str_repeat(chr($padding_char),$padding_char);return $data; }}$des = new CryptDes("12345678","12345678");//(秘钥向量,混淆向量)echo $ret = $des->encrypt("1111");//加密字符串?>

国外 阅读源码的网站,vscode左边的配置,ubuntu svn讲解,tomcat访问具体文件,fiddle爬虫,php转jsp,吕梁seo推广如何操作,小说网站主题模板下载,公司注册网站模板lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。