php使用異或?qū)崿F(xiàn)的加密解密實(shí)例
更新時(shí)間:2013年09月04日 15:08:44 作者:
字符串的加密解密在數(shù)據(jù)的處理中應(yīng)該是經(jīng)常使用的,但MD5加密是不可逆的,所以自能自己動(dòng)手寫一個(gè)加密解密函數(shù),思路很。網(wǎng)上看了幾個(gè)用異或?qū)崿F(xiàn)的思路,看懂后就自己寫了一下。異或的思路很簡(jiǎn)單,用個(gè)公示簡(jiǎn)單的表示下吧
若a=b ^ c;則b=a ^ c (^是異或的意思),php在處理異或的字符時(shí)先把字符轉(zhuǎn)化為二進(jìn)制的ascii值,對(duì)這些值進(jìn)行異或,獲取結(jié)果后在將ascii值轉(zhuǎn)化為字符,原理說晚了直接貼實(shí)現(xiàn)的代碼:
復(fù)制代碼 代碼如下:
echo '<meta charset="utf-8">';
$str='世界,你好';
function jiami($str,$key){
$key=md5($key);
$k=md5(rand(0,100));//相當(dāng)于動(dòng)態(tài)密鑰
$k=substr($k,0,3);
$tmp="";
for($i=0;$i<strlen($str);$i++){
$tmp.=substr($str,$i,1) ^ substr($key,$i,1);
}
return base64_encode($k.$tmp);
}
function jiemi($str,$key){
$len=strlen($str);
$key=md5($key);
$str=base64_decode($str);
$str=substr($str,3,$len-3);
$tmp="";
for($i=0;$i<strlen($str);$i++){
$tmp.=substr($str,$i,1) ^ substr($key,$i,1);
}
return $tmp;
}
$key='cc';
$jh=jiami($str, $key);
echo '加密前:'.$str.'<br>';
echo '加密后:'.$jh.'<br>';
echo '解密后:'.jiemi($jh, $key).'<br>';
有機(jī)會(huì)在完善下,本函數(shù)實(shí)現(xiàn)的是簡(jiǎn)單的加密解密
您可能感興趣的文章:
- 帶密匙的php加密解密示例分享
- 一組PHP可逆加密解密算法實(shí)例代碼
- php加密算法之實(shí)現(xiàn)可逆加密算法和解密分享
- php使用base64加密解密圖片示例分享
- php的一個(gè)簡(jiǎn)單加密解密代碼
- php加密解密實(shí)用類分享
- PHP加密擴(kuò)展庫Mcrypt安裝和實(shí)例
- php加密解密函數(shù)authcode的用法詳細(xì)解析
- PHP加密函數(shù) Javascript/Js 解密函數(shù)
- php實(shí)現(xiàn)MD5加密16位(不要默認(rèn)的32位)
- php pki加密技術(shù)(openssl)詳解
- 解析如何用php screw加密php源代碼
- php_screw 1.5:php加密: 安裝與使用詳解
- 具有時(shí)效性的php加密解密函數(shù)代碼
- 一個(gè)簡(jiǎn)單的php加密解密函數(shù)(動(dòng)態(tài)加密)
- 深入PHP數(shù)據(jù)加密詳解
- PHP寫的加密函數(shù),支持私人密鑰(詳細(xì)介紹)
- php實(shí)現(xiàn)aes加密類分享
相關(guān)文章
PHP經(jīng)典面試題之設(shè)計(jì)模式(經(jīng)常遇到)
php中設(shè)計(jì)模式非常多,但是設(shè)計(jì)模式在php面試題經(jīng)常會(huì)提到,本文主要給大家介紹php經(jīng)典面試題之設(shè)計(jì)模式,需要的朋友一起看看吧2015-10-10php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息
這篇文章主要給大家介紹了關(guān)于php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01php實(shí)現(xiàn)格式化多行文本為Js可用格式
本文給大家分享的是使用php實(shí)現(xiàn)格式化多行文本為Js可用格式,思路非常簡(jiǎn)單,這里推薦給大家,有需要的小伙伴參考下。2015-04-04