Home  >  Article  >  Backend Development  >  PHP加密解密实例分析,_PHP教程

PHP加密解密实例分析,_PHP教程

WBOY
WBOYOriginal
2016-07-12 09:02:45765browse

PHP加密解密实例分析,

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

//加密
function string2secret($str)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $secret = mcrypt_generic($td, $str);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return $secret;
}
//解密
function secret2string($sec)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $string = mdecrypt_generic($td, $sec);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return trim($string);
}
echo secret2string(string2secret("11111111111111111"));
//显示结果是11111111111111111
echo '<br>'.string2secret("11111111111111111");
//显示乱码
echo '<br>';
//$string:要加密的字符串 $isEncrypt=true:加密 $isEncrypt=false:解密
function dencrypt($string, $isEncrypt = true, $key = "KEY_SPACE") {
 if (!isset($string{0}) || !isset($key{0})) {
  return false;
 }
 $dynKey = $isEncrypt &#63; hash('sha1', microtime(true)) : substr($string, 0, 40);
 $fixedKey = hash('sha1', $key);
 $dynKeyPart1 = substr($dynKey, 0, 20);
 $dynKeyPart2 = substr($dynKey, 20);
 $fixedKeyPart1 = substr($fixedKey, 0, 20);
 $fixedKeyPart2 = substr($fixedKey, 20);
 $key = hash('sha1', $dynKeyPart1 . $fixedKeyPart1 . $dynKeyPart2 . $fixedKeyPart2);
 $string = $isEncrypt &#63; $fixedKeyPart1 . $string . $dynKeyPart2 : (isset($string{339}) &#63; gzuncompress(base64_decode(substr($string, 40))) : base64_decode(substr($string, 40)));
 $n = 0;
 $result = '';
 $len = strlen($string);
 for ($n = 0; $n < $len; $n++) {
  $result .= chr(ord($string{$n}) ^ ord($key{$n % 40}));
 }
 return $isEncrypt &#63; $dynKey . str_replace('=', '', base64_encode($n > 299 &#63; gzcompress($result) : $result)) : substr($result, 20, -20);
}
echo strlen(dencrypt("12345678912345"));

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • PHP下SSL加密解密、验证、签名方法(很简单)
  • 详解 PHP加密解密字符串函数附源码下载
  • PHP封装的字符串加密解密函数
  • thinkphp微信开发(消息加密解密)
  • PHP加密解密函数详解
  • PHP实现加强版加密解密类实例
  • PHP rsa加密解密使用方法
  • PHP加密解密字符串汇总
  • PHP加密解密类实例分析
  • php接口数据加密、解密、验证签名
  • php rsa加密解密使用详解
  • php自定义加密与解密程序实例

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1084530.htmlTechArticlePHP加密解密实例分析, 本文实例讲述了PHP加密解密方法。分享给大家供大家参考,具体如下: //加密function string2secret($str){ $key = "123"; $td...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn