PHP加密解密

2021-06-13 12:52:24 字數 1365 閱讀 4232

//加密

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歡迎您...