php中的MD5加密問題

我也學php
原文地址:php中的MD5加密問題作者:phpxx
現在的程序都是用什麼加密密碼的呀?
md5加密用的是不可逆的方法,不可能被破解的。但是由於md5加密後只有32位,它是個有限的範圍,所以有一些字符串加密後是一樣的。王小云的破譯方法也只是知道了md5加密後的字符串時,能在不是很長的時間內找出一個字符串,使它的md5加密串跟那個是一樣的。
也算破解,因爲如果一個密碼存在2個密鑰的話那麼加密被突破的可能性就非常大了,因此現在已經有新的密碼組織在研究新的密碼算法了。但目前來說MD5還是夠安全的。
MD5現在有點不安全了,很多網站上都有硬破解的。很多朋友說只有些常用的才能被破解。這雖然不錯可又有幾個普通用戶會用太複雜的密碼呢啊,大部分都是生日啊,電話號碼啊之類的,對多再加上一兩個字母,所以不論你從哪兒拉下來一個庫,裏面80%的密碼都能被破了,鑑於這個問題我自己做了一個小程序暫時解決問題,大家可以根據自己的需求隨便改改下面的參數就變成一個不可只有自己能破解的了
function PassCrypt($ManagerPassword)
{
$ManagerPassword=md5($ManagerPassword);
$Salt=substr($ManagerPassword,-1,3);
$ManagerPassword=crypt($ManagerPassword,$Salt);
Return $ManagerPassword;
}
這樣先把密碼用MD5加密,然後截取其結果的一段,再用crypt加密,因爲這兩個加密函數都是單向的,所以就沒有人能破解的了了,而且加密後的最終密碼是13位的,無論誰拿到手都不知道該怎麼破解了 哈哈
在密碼驗證時只需要將原始密碼用加密函數再加密一編進行匹配就行了。
或者還有個更簡單的方法,那就是無論用哪個函數直接加密上兩次,把第一次的結果作爲第二次的源再進行加密,這樣數據庫中的記錄即使被還原了也是一個被加密過的串
有很多人都搞了對照還原MD5的字典出來. 呵呵.
雖然這個字典是不可能完全的,但他一直在收集信息完善中. 仍然能對付大多數的字符.
多加密幾次,用不同的加密方式,中間對源數據進行處理
 
發佈了38 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章