82870034 发表于 2017-3-21 10:45:27

php 加密DES

  <?php 
  function pkcs5_pad ($text, $blocksize) 
  { 
  $pad = $blocksize - (strlen($text) % $blocksize); 
  return $text . str_repeat(chr($pad), $pad); 
  } 
  function pkcs5_unpad($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);
  }
  function encrypt_something($input) 
  { 
  $size = mcrypt_get_block_size('des', 'cbc'); 
  $input = pkcs5_pad($input, $size); 
  $key = '7e81857e';
  $td = mcrypt_module_open('des', '', 'cbc', ''); 
  mcrypt_generic_init($td, $key, "\0\0\0\0\0\0\0\0"); 
  $data = mcrypt_generic($td, $input); 
  mcrypt_generic_deinit($td); 
  mcrypt_module_close($td); 
  $data = base64_encode($data); 
  return $data; 
  } 
  function decrypt($str){
  $key = '7e81857e';
  $size = mcrypt_get_block_size('des', 'cbc'); 
  $td=mcrypt_module_open('des', '', 'cbc', ''); 
  $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); 
  mcrypt_generic_init($td,$key,"\0\0\0\0\0\0\0\0");
  $decrypted_text = mdecrypt_generic($td,base64_decode($str));
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  $plain_text = pkcs5_unpad($decrypted_text);
  return $plain_text;
  }
  
  echo decrypt("8cvdp5aZ3mDXPOQtXuLDg6aMhWwuxPWzfw3NRbZYBYjdFKbxIhKVnxJNQndKAAG0C8GmV5qdQa/zCv8cDIe7yg==");
  //echo encrypt_something("Hello World! ASDFGHJKL;'asdfghjkl;'!@#$%^&*()01234567890");
  ?>
页: [1]
查看完整版本: php 加密DES