全稱:message-digest algorithm 5
翻譯過來就是:資訊 摘要 演算法 5
2.後續講解
3.關於md5加鹽:
比如我的銀行密碼是」12345」
1.得到的md5是:827ccb0eea8a706c4c34a16891f84e7b
2.乙個人擷取到這個密文,那麼通過撞庫肯定容易撞出12345.
3.我們要做的就是加鹽,銀行密碼還是」12345」,然後我把銀行密碼加上我特定的字串才計算md5
所以密碼還是那個密碼,但是變成求」12345密碼加密987」的md5值,然後再得到md5,那麼這個md5起碼可以確認那個資料庫不會有.
說了那麼多我們開始我們的md5工具的製作
我們一般加密都是加密字串或者檔案,所以我們的工具就有加密字串和檔案的兩種方法,兩個方法同名,通過過載完成
邏輯思維:
2.資訊摘要物件是對位元組陣列進行摘要的,所以先獲取字串的位元組陣列.
byte bytes = str.getbytes();
3.資訊摘要物件對位元組陣列進行摘要,得到摘要位元組陣列:
byte digest = md5.digest(bytes);
4.把摘要陣列中的每乙個位元組轉換成16進製制,並拼在一起就得到了md5值.
(ps,有些轉換過來得到的是前面有6個f的情況,如:ffffff82,這是因為前面有6組4個1,所以提前把這6組1111先變成0就好了,然後再轉16進製制就沒有f了)
(其實也可以在後面續把f去掉)
方法傳入的是檔案物件 : file
Shiro密碼的MD5加密 MD5鹽值加密
用md5加密演算法後,前台使用者輸入的字串如何使用md5加密,需要做的是將當前的realm 的credentialsmatcher屬性,替換為md5credentialsmatcher 由於md5credentialsmatcher已經過期了,推薦使用hashedcredentialsmatcher...
加密方法 MD5加密
一.md5加密演算法 1.1 md5演算法的定義 md5是雜湊雜湊演算法,對於md5而言,有兩個特性是很重要的,第一 明文資料經過雜湊以後的值是定長的 第二 是任意一段明文資料,經過雜湊以後,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文雜湊以後得到相同的結果。md5是雜湊雜湊演算法,對於m...
檔案md5加密
計算檔案的 md5 值 要計算 md5 值的檔名和路徑 md5 值16進製制字串 public static string md5file string filename 計算檔案的雜湊值 要計算雜湊值的檔名和路徑 演算法 sha1,md5 雜湊值16進製制字串 public static stri...