回覆列表
  • 1 # 一零言

    必須肯定,絕對可以提高安全性

    先來講個小故事

    提到md5,這讓我想到了前段時間全國2600多隻隊伍、一萬多人參加的網路安全比賽(各方大佬開心虐菜)。有一道賽題就是關於md5的web題,那道題一共三關,每一關都考驗了md5值相等或者相同,最後一關是md5全等,聽說需要md5碰撞產生兩個相同的數值,而如果你想從一個md5值恢復到原來的值是非常困難的。

    MD5加密是什麼?

    MD5加密使用的是hash演算法,一種被廣泛使用的密碼雜湊函式,可以產生出一個128位(16位元組)的雜湊值(hash value),也就是一共有2^128種可能,大概是3.4*10^38,這個數字是有限多個的,而但是世界上可以被用來加密的原文則會有無數的可能性。

    2009年,中國科學院的謝濤和馮登國僅用了220.96的碰撞演算法複雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上執行只需要數秒鐘。我使用過md5碰撞生成器,可以生成兩個md5值相同但是內容不同的檔案。

    md5解密網站的原理

    相信你在網上可以找到很多破解md5的網站,為什麼能破解呢?是因為這些站點中儲存了md5加密資料,透過查詢資料庫中對應的md5密文找到相對應的加密資料。

    多次MD5加密

    目前幾乎所有常用的密碼的一次md5、二次md5甚至3次md5的結果都被計算出來存到一個彩虹表裡。當然你加密的次數越多肯定會越安全,不過呢最好的辦法是在每一次md5加密之後你在密文後再加點資料,然後再進行md5加密,這樣就不會被破解了。

  • 2 # 透明雨滴10

    MD5(Message Digest Algorithm 5,資訊摘要演算法5),是計算機廣泛使用的摘要演算法(又稱雜湊演算法)之一。MD5是將一段資訊,透過其不可逆的字串變換演算法,產生了唯一的MD5資訊摘要(16位或32位固定長度的字串)。即同一明文一定生成固定的密文。

    為了防止使用者登入密碼洩露,資料庫儲存的密碼不能是明文,即使資料庫洩露了密碼也不能直接洩露。通常的做法是將使用者設定的登入密碼進行MD5運算/加密後存入資料庫。

    當用戶登入時,對使用者輸入的密碼進行MD5運算,運算結果與資料庫中的值進行比對,如果MD5密文一樣,則認為使用者登入密碼正確,反之則認為密碼錯誤。

    一個MD5密文理論上可能對應多個原文,透過遍歷法可以暴力破解密碼,但這是計算時間、計算資源的巨大消耗。

    那麼多次MD5加密能否提高密碼的安全性呢?理論上肯定是安全一些,對暴力破解密碼能起到一定的作用吧,畢竟盲破解是不管進行了幾次MD加密的。

  • 中秋節和大豐收的關聯?
  • 能激發創新的思維的方法有哪些?