每日17點準時技術乾貨分享
php加密解密:php加密和解密函式通常可以用來加密一些有用的字串存放在資料庫裡或作為各個子系統間同步登陸的令牌,並且通過解密演算法解密字串,該函式使用了base64和md5加密和解密。
①第一種加密解密演算法
<?php function encryptdecrypt($key, $string, $decrypt)else } //加密:"z0jax4qmwcf+db5tnbp/xwdum84snrsxvvpxuaca4bk=" echo encryptdecrypt('password', 'helloweba歡迎您',0); //解密:"helloweba歡迎您" echo encryptdecrypt('password', 'z0jax4qmwcf+db5tnbp/xwdum84snrsxvvpxuaca4bk=',1); ?>
②第二種加密解密演算法:
<?php //加密函式 function lock_url($txt,$key='www.zhuoyuexiazai.com') return urlencode($ch.$tmp); } //解密函式 function unlock_url($txt,$key='www.zhuoyuexiazai.com') return base64_decode($tmp); } ?>
③第三種加密解密演算法:
<?php //改進後的演算法 //加密函式 function lock_url($txt,$key='zhuoyuexiazai') return urlencode(base64_encode($ch.$tmp)); } //解密函式 function unlock_url($txt,$key='zhuoyuexiazai') return trim(base64_decode($tmp),$key); } ?>
④第四種加密解密演算法:
<?php function passport_encrypt($txt, $key = 'www.zhuoyuexiazai.com') return urlencode(base64_encode(passport_key($tmp, $key))); } function passport_decrypt($txt, $key = 'www.zhuoyuexiazai.com') return $tmp; } function passport_key($txt, $encrypt_key) return $tmp; } $txt = "1"; $key = "testkey"; $encrypt = passport_encrypt($txt,$key); $decrypt = passport_decrypt($encrypt,$key); echo $encrypt."
"; echo $decrypt."
"; ?>
⑤第五種加密解密演算法:discuz中使用的加密解密演算法
專案中有時我們需要使用php將特定的資訊進行加密,也就是通過加密演算法生成乙個加密字串,這個加密後的字串可以通過解密演算法進行解密,便於程式對解密後的資訊進行處理。
最常見的應用在使用者登入以及一些api資料交換的場景。
最常見的應用在使用者登入以及一些api資料交換的場景。
加密解密原理一般都是通過一定的加密解密演算法,將金鑰加入到演算法中,最終得到加密解密結果。
<?php //非常給力的authcode加密函式,discuz!經典**(帶詳解) //函式authcode($string, $operation, $key, $expiry)中的$string:字串,明文或密文;$operation:decode表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。 function authcode($string, $operation = 'decode', $key = '', $expiry = 0) // 用固定的演算法,打亂密匙簿,增加隨機性,好像很複雜,實際上對並不會增加密文的強度 for($j = $i = 0; $i < 256; $i++) // 核心加解密部分 for($a = $j = $i = 0; $i < $string_length; $i++) if($operation == 'decode') else } else } $str = 'abcdef'; $key = 'www.helloweba.com'; echo authcode($str,'encode',$key,0); //加密 $str = '56f4yer1di2wtzwmqsfpps9hwyojnfp2mpc8sohrrxo7bok'; echo authcode($str,'decode',$key,0); //解密 ?>
⑥第六種加密解密演算法:
<?php //函式encrypt($string,$operation,$key)中$string:需要加密解密的字串;$operation:判斷是加密還是解密,e表示加密,d表示解密;$key:密匙。 function encrypt($string,$operation,$key='') for($j=$i=0;$i<256;$i++) for($a=$j=$i=0;$i $a=($a+1)%256; $j=($j+$box[$a])%256; $tmp=$box[$a]; $box[$a]=$box[$j]; $box[$j]=$tmp; $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256])); } if($operation=='d')else }else } $str = 'abc'; $key = 'www.helloweba.com'; $token = encrypt($str, 'e', $key); echo '加密:'.encrypt($str, 'e', $key); echo '解密:'.encrypt($str, 'd', $key); ?>
-end- php 變數的md5加密,PHP中的MD5加密
php中的md5加密 2005 02 17 enet ciweek 綜述 密碼學是研究編制密碼 我們簡稱為加密 encode 和破譯密碼 我們稱之為解密 decode 的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通訊秘密的,稱為編碼學 應用於破譯密碼以獲取通訊情報的,稱為破譯學,總稱密碼...
PHP中的MD5加密
綜述 密碼學是研究編制密碼 我們簡稱為加密 encode 和破譯密碼 我們稱之為解密 decode 的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通訊秘密的,稱為編碼學 應用於破譯密碼以獲取通訊情報的,稱為破譯學,總稱密碼學。通常情況下,人們將可懂的文字稱為明文 將明文變換成的不可懂的文字...
PHP獲得檔案的md5
由於需要判斷上傳的檔案是否被修改過,需要記錄上傳檔案的md5值,這裡記錄一下獲取檔案md5值的方法。1if isset files files error 0 2 md5 file md5 file 函式計算檔案的 md5 雜湊。md5 函式使用 rsa 資料安全,包括 md5 報文摘譯演算法。如果...