核心提示:康盛的 authcode 函式可以說對中國的php界作出了重大貢獻。包括康盛自己的產品,以及大部分中國使用php的公司都用這個函式進行加密,authcode 是使用異或運算進行加密和解密。
康盛的 authcode 函式可以說對中國的php界作出了重大貢獻。包括康盛自己的產品,以及大部分中國使用php的公司都用這個函式進行加密,authcode 是使用異或運算進行加密和解密。
原理如下,假如:
加密 明文:1010 1001
密匙:1110 0011
密文:0100 1010
得出密文0100 1010,解密之需和密匙異或下就可以了
解密 密文:0100 1010
密匙:1110 0011
明文:1010 1001
並沒有什麼高深的演算法,密匙重要性很高,所以,關鍵在於怎麼生成密匙。
那我們一起看下康盛的authcode怎麼做的吧
// 引數解釋
// $string: 明文 或 密文
// $operation:decodtaoumnmve表示解密,其它表示加密
// $key: 密匙
// $expiry:密文有效期
function authtaoumnmvcode($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
}本文標題: php加密解密函式authcode的用法詳細解析
本文位址:
PHP加密解密函式
關於discuz的加密解密函式,相信大家都有所了解,該authcode函式可以說是對php界作出了重大的貢獻,真的發覺discuz這個函式寫的太精彩啦。研究了一下這個演算法,總的來說可以歸納為以下三點 1,動態性,同一字串使用相同的key,每次加密的密文都不一樣,而解密方法只有乙個,其實就是把解密的...
PHP 加密解密函式
str 需要要加密的字串 不可逆 md5 函式計算字串的 md5 雜湊 語法 md5 string,raw string 必需。規定要計算的字串 raw 可選,規定十六進製制或二進位制輸出格式,預設是32 字元十六進製制數 示例 echo md5 str e22c0235385fb885bdca3c...
PHP加密解密函式
功能 對字串進行加密處理 引數一 需要加密的內容 引數二 金鑰 function passport encrypt str,key 加密函式 srand double microtime 1000000 encrypt key md5 rand 0,32000 ctr 0 tmp for i 0 i...