字符串加密解密算法
php5.5中有更为可靠和方便的加密方式。喜欢钻研的朋友可以了解一下:
password_hash()
http://www.php.net/manual/zh/function.password-hash.php
基于mcrypt扩展,按位异或总结的两个字符串加密解密算法
<?php /** * @info 字符串加密解密算法一,利用mcrypt扩展 * @param string $string 待处理字符串 * $action ENCODE,加密 | DECODE,解密 * @return string $returnstr * @date 2014/4/22 * @author tonglei */ function mcrypt_handle_string($string, $action = \'ENCODE\') { !is_array($string) or exit; $action == \'DECODE\' && $string = base64_decode($string); $key = "123456"; //key可自定义或在配置文件中获取 $mcryptAlgorithm = MCRYPT_DES; //选择一种加密算法 $mcryptMode = MCRYPT_MODE_ECB; //选择一种加密模式 $mcryptIv = mcrypt_create_iv(mcrypt_get_iv_size($mcryptAlgorithm, $mcryptMode), MCRYPT_RAND); //创建初始化向量 $returnstr = base64_encode(mcrypt_encrypt($mcryptAlgorithm, $key, $string, $mcryptMode, $mcryptIv)); if(\'DECODE\' == $action) { $returnstr = mcrypt_decrypt($mcryptAlgorithm, $key, $string, $mcryptMode, $mcryptIv); } return $returnstr; }
<?php /** * * @info 字符串加密解密算法二 利用按位异或 * @param string $string 待处理字符串 * @param $action ENCODE 加密 | DECODE 解密 * @return string */ function StrCode($string, $action = \'ENCODE\') { $action != \'ENCODE\' && $string = base64_decode($string); $code = \'\'; $key = substr(md5($GLOBALS[\'pwServer\'][\'HTTP_USER_AGENT\'] . $GLOBALS[\'db_hash\']), 8, 18); $keyLen = strlen($key); $strLen = strlen($string); for ($i = 0; $i < $strLen; $i++) { $k = $i % $keyLen; $code .= $string[$i] ^ $key[$k]; } return ($action != \'DECODE\' ? base64_encode($code) : $code); }