Rumah > pembangunan bahagian belakang > tutorial php > php des加密解密代码

php des加密解密代码

怪我咯
Lepaskan: 2023-03-14 11:38:02
asal
3390 orang telah melayarinya

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;;
Salin selepas log masuk

Atas ialah kandungan terperinci php des加密解密代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan