当前位置:首页 > PHP文摘 > 列表

PHP实现的DES加密解密实例代码

发布:smiling 来源: PHP粉丝网  添加日期:2019-10-08 12:44:07 浏览: 评论:0 

本文实例讲述了PHP实现的DES加密解密实例。分享给大家供大家参考,具体如下:

  1. <?php 
  2.  
  3. $key = 'very important data'
  4.  
  5. function jiami($key$str
  6.  
  7.  
  8.   /* Open module, and create IV */ 
  9.  
  10.   $td = mcrypt_module_open('des''''ecb'''); 
  11.  
  12.   //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); 
  13.  
  14.   //$td = mcrypt_module_open('des', '', 'cbc', ''); 
  15.  
  16.   $key = substr($key, 0, mcrypt_enc_get_key_size($td)); 
  17.  
  18.   $iv_size = mcrypt_enc_get_iv_size($td); 
  19.  
  20.   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
  21.  
  22.   /* Initialize encryption handle */ 
  23.  
  24.   if (mcrypt_generic_init($td$key$iv) === -1) 
  25.  
  26.   { 
  27.  
  28.     return FALSE; 
  29.  
  30.   } 
  31.  
  32.   /* Encrypt data */ 
  33.  
  34.   $c_t = mcrypt_generic($td$str); 
  35.  
  36.   /* Clean up */ 
  37.  
  38.   mcrypt_generic_deinit($td); 
  39.  
  40.   mcrypt_module_close($td); 
  41.  
  42.   return $c_t
  43.  
  44.  
  45. function jiemi($key$str
  46.  
  47.  
  48.   /* Open module, and create IV */ 
  49.  
  50.   $td = mcrypt_module_open('des''''ecb'''); 
  51.  
  52.   //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, ''); 
  53.  
  54.   //$td = mcrypt_module_open('des', '', 'cbc', ''); 
  55.  
  56.   $key = substr($key, 0, mcrypt_enc_get_key_size($td)); 
  57.  
  58.   $iv_size = mcrypt_enc_get_iv_size($td); 
  59.  
  60.   $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
  61.  
  62.   /* Initialize encryption handle */ 
  63.  
  64.   if (mcrypt_generic_init($td$key$iv) === -1) 
  65.  
  66.   { 
  67.  
  68.     return FALSE; 
  69.  
  70.   } 
  71.  
  72.   /* Reinitialize buffers for decryption */ 
  73.  
  74.   $p_t = mdecrypt_generic($td$str); 
  75.  
  76.   /* Clean up */ 
  77.  
  78.   mcrypt_generic_deinit($td); 
  79.  
  80.   mcrypt_module_close($td); 
  81.  
  82.   return trim($p_t); 
  83.  
  84.  
  85. $str = 'hello world!'
  86.  
  87. echo 'key:' . $key . '<br>'
  88.  
  89. echo 'str:' . $str . '<br>'
  90.  
  91. $jiami = jiami($key$str); 
  92.  
  93. echo '加密:' . $jiami . '<br>'
  94.  
  95. file_put_contents('jiamiqian.txt'$str); 
  96.  
  97. file_put_contents('jiamihou.txt'$jiami); 
  98.  
  99. $jiemi = jiemi($key$jiami); 
  100.  
  101. echo '解密:' . $jiemi . '<br>';

Tags: PHP加密解密 DES加密解密

分享到: