Ucenter密碼 salt加密今天研究得出的演算法

2021-06-18 03:12:18 字數 1914 閱讀 5506

有個支援php的伺服器環境是必須的了

然後看我寫的**我們來一起研究ucenter的加密演算法。

研究過那麼一兩次的人都應該知道uc的資料庫裡你設定同樣的密碼註冊得到的md5加密都不一樣。

這個問題很簡單就是他的密碼是拼接了乙個隨機的字串$salt

那麼這個$salt是怎麼得到的呢!

這個$salt在uc_client\model\user.php

這個檔案中能找的到

那麼我先把他的**貼出來

line 103 :  $salt = substr(uniqid(rand()), -6);

//這個就是$salt的演算法

/***我解釋一下這個會得到什麼rand --將 

*產生乙個隨機數數的範圍在沒有限制的情況下是從0---32768

*uniqid()巨手冊的說法《本人英語不怎麼好,理解如下》

*根據當前時間返回乙個獨特的標識字首,

*我想應該是類似cookies的型別是隨機並且是唯一的。

*字首最多可是114個字串的長度。

*substr(uniqid(rand()), -6)就是把裡面產生的數擷取,

*擷取的方法就是從後向前數6個。從第6個開始向

*後保留。給個例子

*$rest = substr("abcdef", 1);    // returns "bcdef"

*$rest = substr("abcdef",  3); // returns "bcd"

*$rest = substr("abcdef",  4); // returns "abcd"

*$rest = substr("abcdef",  8); // returns "abcdef"

*這樣$salt就得到了乙個6個字元的隨機數。

*這個隨機數就是$salt的值。

**/line 104 :  $password = md5(md5($password).$salt);

//把從會員註冊提交的登錄檔單那獲取的$password

//進行一次md5然後和上面的$salt拼接到一起。

//拼接完在進行一次md5

line 107 :  $this->db->query("insert into ".uc_dbtablepre."members set $sqladd username='$username', password='$password', email='$email', regip='".$this->base->onlineip."', regdate='".$this->base->time."', salt='$salt'");

//懂資料庫的這個應該一看就明白就是把獲取的$salt也寫進資料庫了。

line 114 :  $data = $this->db->fetch_first("select username, uid, password, salt from ".uc_dbtablepre."members where username='$username'");

//查詢得到對應$username 的 $salt,

//然後同樣的演算法進行對比。

//如果為 "t" 登陸如果為 "f"  提示密碼錯誤.

現在用我寫的**進行$salt的測試大家看看

得到的是什麼。

每次重新整理就會得到不同的字元.

<?php

$salt = substr(uniqid(rand()), -6);

for($i=0; $i<5;$i++)

echo "

";print "獲取密碼設定使用者密碼為  a

";$pass = a;

$password = md5(md5($pass).$salt);

for($u=0;$u<5;$u++)

?>

複製**

Ucenter 密碼加密機制

因為疏忽 忘記了ucenter下的乙個應用的後台管理員登入名和密碼,google 了下ucenter的密碼加密機制,很犀利 如下 salt substr uniqid rand 6 生成隨機值 pass mypass 使用者密碼 password md5 md5 pass salt 兩次md5加密 ...

salt鹽度與使用者密碼加密機制

1 密碼必須雜湊儲存 內容略 2 加salt雜湊 我們知道,如果直接對密碼進行雜湊,那麼黑客 統稱那些有能力竊取使用者資料並企圖得到使用者密碼的人 可以對乙個已知密碼進行雜湊,然後通過對比雜湊值得到某使用者的密碼。換句話說,雖然黑客不能取得某特定使用者的密碼,但他可以知道使用特定密碼的使用者有哪些。...

密碼加SALT原理

原來這個技術叫salt,以前我們經常這麼用 我們知道,如果直接對密碼進行雜湊,那麼黑客可以對通過獲得這個密碼雜湊值,然後通過查雜湊值字典 例如md5密碼破解 得到某使用者的密碼。加salt可以一定程度上解決這一問題。所謂加salt方法,就是加點 佐料 其基本想法是這樣的 當使用者首次提供密碼時 通常...