Joomla 使用者密碼的生成原理

2021-06-16 05:22:46 字數 850 閱讀 1088

**:

在網上看了許多有關joomla使用者密碼的問題,有好多人對此有些疑問,也有些人說joomla的密碼不是md5加密的。這裡,我想大概說一下joomla使用者密碼的生成過程。

當然,joomla對密碼的加密方式有很多種,有ssha、md5、base64等等,但是因為我們很少觸及這些設定,所以大多數還是在使用預設的md5加密方式。

有些人會問:為什麼同樣的密碼每次加密後的結果都不一樣呢?原因就是因為joomla在加密的時候新增了乙個隨機key。由於這個key是隨機的,所以每次加密後的結果也會不一樣。

舉例說明:

我的joomla的明文密碼是 123456,加密後的結果是

6fa7069f6c2b4a7abc376669113acab8:cw2r7qqdgqrp2rw9sbxcxn85nsek6tlv

我們看到,加密後的字串不是普通的md5格式,它被「:」分成了兩段,這也是致使有些人懷疑它不是md5的原因。其實後面的這段是key,在每次新增新使用者或修改密碼時,這一串是隨機生成的,而前邊的密碼才是md5加密後的密碼,加密方法為:

md5(明文密碼.key)

如上面的密碼應該為 

6fa7069f6c2b4a7abc376669113acab8 == md5('123456cw2r7qqdgqrp2rw9sbxcxn85nsek6tlv')

在驗證使用者密碼時也通過這個key做一下md5驗證就可以了。

生成這個key和加密密碼的函式分別為 getsalt() 和 getcryptedpassword()

它們在 libraries/joomla/user/helper.php 檔案中被定義,在 libraries/joomla/user/user.php 的bind()方法中被呼叫。

生成使用者賬戶密碼的shell

這是乙個新增使用者的小指令碼,詳情請看 的注釋 bin bash author enum.lin desc 這是乙個自動生成使用者和密碼,並可以將使用者新增到 sudoers 列表中的 shell 需要root 的許可權執行 帶錯誤資訊的退出函式 functionexitwitherrormsg 收...

使用者密碼的保護

最近的新聞報道了幾起黑客高調攻擊密碼系統的事件,包括中國的一號店和美國的linkedin,這兩次攻擊都造成了使用者密碼的洩漏。太不幸了,應該避免這樣的事情發生,因為它降低了整體消費者的信心,特別是在網際網路和電子商務領域。在雲絡公司,我們為自身超強的安全策略和幫助我們的客戶不斷提高他們的系統安全而自...

Shell指令碼批量建立使用者並隨機生成密碼

要求 批量建立10個系統賬號oldboy01 oldboy10,並設定生成密碼 密碼不同 實現指令碼 bin bash question3 for i in seq w 10 do useradd s bin bash oldboy i echo password i md5sum tee a pa...