想一下:當我們去銀行存錢的時候,如果我們銀行卡的密碼在計算機中呈明文顯示,那麼會有什麼缺點?
不用解釋就可以想到,明文存放密碼不安全,黑客一旦攻擊到銀行的資料庫系統,那麼裡面所有卡號的密碼都展露無餘;即便是銀行工作人員我們也不希望他們看到自己的密碼。因此我們需要對密碼進行加密。
對於加密的方式有很多種,在此只是簡單的介紹一種:md5演算法加密
md5演算法是一種雜湊(hash)演算法,不是一種純壓縮演算法,不是一種加密演算法。
md5加密就是將任意長度的字串轉換成乙個唯一的32位字元。可以看到:任意長度字串——唯一的——固定長度(32位)字元
從上面的分析中可以看到md5演算法的乙個缺點,就是:源資料是無限的(因為是任意長度),而md5的個數是有限的(因為長度固定)。那麼就會存在這樣一種情況:兩個源資料對應乙個md5值(多對一的關係)。
這也正是md5演算法不可逆的原因。
當丟失密碼的時候是密碼重置還是找回密碼?
由於用md5演算法轉換出來的密碼是不可逆的,因此當使用者丟失密碼的時候是沒有辦法幫使用者找回之前的密碼的,只能提交申請,系統重新給使用者設定乙個新的密碼。
也許大家聽過王小雲破解md5演算法的訊息。從原理上來說md5演算法是不可逆的,唯一攻擊的辦法就是碰撞(因為存在多個源資料對應乙個md5值得情況),但是這種碰撞的機率是非常非常非常的小,而王小雲做的只能發現了縮短列舉碰撞時間的理論而已。
什麼是MD5演算法?
想一下 當我們去銀行存錢的時候,如果我們銀行卡的密碼在計算機中呈明文顯示,那麼會有什麼缺點?不用解釋就可以想到,明文存放密碼不安全,黑客一旦攻擊到銀行的資料庫系統,那麼裡面所有卡號的密碼都展露無餘 即便是銀行工作人員我們也不希望他們看到自己的密碼。因此我們需要對密碼進行加密。對於加密的方式有很多種,...
什麼是md5鹽值
簡單說就是為了使相同的密碼擁有不同的hash值的一種手段 就是鹽化 md5自身是不可逆的 但是目前網路上有很多資料庫支援反查詢 如果使用者密碼資料庫不小心被洩露 黑客就可以通過反查詢方式獲得使用者密碼 或者對於資料庫中出現頻率較高的hash碼 即很多人使用的 進行暴力破解 因為它通常都是弱口令 鹽值...
MD5演算法 加密
ps 在開發的某些業務中,涉及到一些明文不太安全的時候會用到加密演算法,常用的一般有md5加密 des aes 等加密方式這裡自己了解了一下md5加密。1 md5演算法加密 也就是 資訊 摘要演算法5 就是把乙個任意長度的位元組串變換成一定長的十六進製制數字串 public static strin...