您好,欢迎访问一九零五行业门户网

php使用3des加密的代码(兼容.net)

key = $key;$this->iv = $iv;}/***加密* @param $value* @return */public function encrypt ($value){$td = mcrypt_module_open(mcrypt_3des, '', mcrypt_mode_cbc, '');$iv = base64_decode($this->iv);$value = $this->paddingpkcs7($value);$key = base64_decode($this->key);mcrypt_generic_init($td, $key, $iv);$ret = base64_encode(mcrypt_generic($td, $value));mcrypt_generic_deinit($td);mcrypt_module_close($td);return $ret;}/***解密* @param $value* @return */public function decrypt ($value){$td = mcrypt_module_open(mcrypt_3des, '', mcrypt_mode_cbc, '');$iv = base64_decode($this->iv);$key = base64_decode($this->key);mcrypt_generic_init($td, $key, $iv);$ret = trim(mdecrypt_generic($td, base64_decode($value)));$ret = $this->unpaddingpkcs7($ret);mcrypt_generic_deinit($td);mcrypt_module_close($td);return $ret;}private function paddingpkcs7 ($data){$block_size = mcrypt_get_block_size('tripledes', 'cbc');$padding_char = $block_size - (strlen($data) % $block_size);$data .= str_repeat(chr($padding_char), $padding_char);return $data;}private function unpaddingpkcs7 ($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);}}?>
复制代码
您可能感兴趣的文章:php des加密解密的代码一例关于des加密与解密实现方法(php net两个版本)
其它类似信息

推荐信息