//加密
function string2secret($str)
//解密
function secret2string($sec)
echo secret2string(string2secret("11111111111111111")); //顯示結果是11111111111111111
echo '
'.string2secret("11111111111111111"); //顯示亂碼
echo '
';//$string:要加密的字串 $isencrypt=true:加密 $isencrypt=false:解密
function dencrypt($string, $isencrypt = true, $key = "key_space") ) || !isset($key))
$dynkey = $isencrypt ? 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 ? $fixedkeypart1 . $string . $dynkeypart2 : (isset($string) ? gzuncompress(base64_decode(substr($string, 40))) : base64_decode(substr($string, 40)));
$n = 0;
$result = '';
$len = strlen($string);
for ($n = 0; $n < $len; $n++) ) ^ ord($key));
} return $isencrypt ? $dynkey . str_replace('=', '', base64_encode($n > 299 ? gzcompress($result) : $result)) : substr($result, 20, -20);
} echo strlen(dencrypt("12345678912345"));
PHP 加密 解密
由於出於安全考慮,引數傳遞的時候需要進行加密和解密,乙個比較簡單的方法是直接使用php中的函式mcrypt encrypt mcrypt decrypt,乙個加密,乙個解密,但是問題又出現了,這個加密過程中會產生一些使url混亂的符號,於是在加密後對加密字元再進行一次處理,然後多了一一次解析 key...
php加密解密
php可逆加解密 1 位運算 知識點 a b and 按位與 將把 a 和 b 中都為 1 的位設為 1。a b or 按位或 將把 a 和 b 中任何乙個為 1 的位設為 1。a b xor 按位異或 將把 a 和 b 中乙個為 1 另乙個為 0 的位設為 1。a not 按位取反 將 a 中為 ...
PHP加密解密
php加密和解密函式可以用來加密一些有用的字串存放在資料庫裡,並且通過可逆解密字串,該函式使用了base64和md5加密和解密。複製 如下 function encryptdecrypt key,string,decrypt else 使用方法如下 複製 如下 以下是將字串 helloweba歡迎您...