gpt4 book ai didi

php中3des加密代码(完全与.net中的兼容)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php中3des加密代码(完全与.net中的兼容)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

代码如下

<?php  class Crypt3Des  {  private $key = "";  private $iv = "";  /**  * 构造,传递二个已经进行base64_encode的KEY与IV  *  * @param string $key  * @param string $iv  */  function __construct ($key, $iv)  {  if (empty($key) || empty($iv)) {  echo 'key and iv is not valid';  exit();  }  $this->key = $key;  $this->iv = $iv;  }  /**  *加密  * @param <type> $value  * @return <type>  */  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 <type> $value  * @return <type>  */  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中3des加密代码(完全与.net中的兼容)的文章就讲到这里了,如果你想了解更多关于php中3des加密代码(完全与.net中的兼容)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com