首页 >后端开发 >php教程 >php des加密解密代码

php des加密解密代码

怪我咯
怪我咯原创
2017-07-23 09:56:433381浏览

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来。

这篇文章主要介绍了PHP实现的DES加密解密方法,结合完整实例形式分析了PHP实现DES加密解密的相关技巧,需要的朋友可以参考下,具体如下:

<?php
$key = &#39;very important data&#39;;
function jiami($key, $str)
{
  /* Open module, and create IV */
  $td = mcrypt_module_open(&#39;des&#39;, &#39;&#39;, &#39;ecb&#39;, &#39;&#39;);
  //$td = mcrypt_module_open(MCRYPT_DES, &#39;&#39;, MCRYPT_MODE_CBC, &#39;&#39;);
  //$td = mcrypt_module_open(&#39;des&#39;, &#39;&#39;, &#39;cbc&#39;, &#39;&#39;);
  $key = substr($key, 0, mcrypt_enc_get_key_size($td));
  $iv_size = mcrypt_enc_get_iv_size($td);
  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  /* Initialize encryption handle */
  if (mcrypt_generic_init($td, $key, $iv) === -1)
  {
    return FALSE;
  }
  /* Encrypt data */
  $c_t = mcrypt_generic($td, $str);
  /* Clean up */
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  return $c_t;
}
function jiemi($key, $str)
{
  /* Open module, and create IV */
  $td = mcrypt_module_open(&#39;des&#39;, &#39;&#39;, &#39;ecb&#39;, &#39;&#39;);
  //$td = mcrypt_module_open(MCRYPT_DES, &#39;&#39;, MCRYPT_MODE_CBC, &#39;&#39;);
  //$td = mcrypt_module_open(&#39;des&#39;, &#39;&#39;, &#39;cbc&#39;, &#39;&#39;);
  $key = substr($key, 0, mcrypt_enc_get_key_size($td));
  $iv_size = mcrypt_enc_get_iv_size($td);
  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  /* Initialize encryption handle */
  if (mcrypt_generic_init($td, $key, $iv) === -1)
  {
    return FALSE;
  }
  /* Reinitialize buffers for decryption */
  $p_t = mdecrypt_generic($td, $str);
  /* Clean up */
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  return trim($p_t);
}
$str = &#39;hello world!&#39;;
echo &#39;key:&#39; . $key . &#39;<br>&#39;;
echo &#39;str:&#39; . $str . &#39;<br>&#39;;
$jiami = jiami($key, $str);
echo &#39;加密:&#39; . $jiami . &#39;<br>&#39;;
file_put_contents(&#39;jiamiqian.txt&#39;, $str);
file_put_contents(&#39;jiamihou.txt&#39;, $jiami);
$jiemi = jiemi($key, $jiami);
echo &#39;解密:&#39; . $jiemi . &#39;<br>&#39;;

以上是php des加密解密代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn