上一篇文章整理了Base64算法的相關(guān)知識(shí),嚴(yán)格來說,Base64只能算是一種編碼方式而非加密算法,這一篇要說的MD5,其實(shí)也不算是加密算法,而是一種哈希算法,即將目標(biāo)文本轉(zhuǎn)化為固定長度,不可逆的字符串(消息摘要).
簡單了解
MD5(Message Digest Algorithm 5),翻譯過來是消息摘要算法第五版,按照慣例,我們推理可能也有MD2,MD3這樣名字的歷史版本..
即使完全不了解這個(gè)算法的原理,我們也可以從命名中看出一些眉道,所謂摘要,就是一個(gè)簡短的概括,像我寫過的畢業(yè)論文,上來第一部分就是摘要,它對(duì)后面長篇大論的文章做了一個(gè)簡短有力的概括,其實(shí)MD5的作用也有點(diǎn)這樣的味道,我們來看一段關(guān)于描述MD5算法作用的文字:
MD5的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個(gè)任意長度的字節(jié)串變換成一定長的大整數(shù)),它主要用于確保數(shù)據(jù)傳輸?shù)耐暾院鸵恢滦?
假設(shè)A要給遠(yuǎn)方的B發(fā)送一個(gè)文本文件,有100萬字,當(dāng)B收到文件的時(shí)候,該怎么知道這個(gè)文件在傳過來的途中有沒有被篡改呢,要是有人中途截?cái)嗖⒋鄹牧宋募?nèi)容那就不太妙了,這時(shí)候MD5就派上用場了,不管多大的文件,通過MD5加密之后都會(huì)得到一個(gè)定長的字符串,一般是32位,這時(shí)候A先對(duì)文件用MD5加密一下,得到的一串密文順便也傳給B,當(dāng)B收到后文件,同樣對(duì)文件用MD5加密一下,看看得到的密文是否和A傳過來的一致,如果一致,說明這個(gè)文件是安全的.這樣就確保了數(shù)據(jù)傳輸?shù)耐暾?
事實(shí)上,我們從網(wǎng)絡(luò)上下載文件的時(shí)候,有時(shí)候下載的文件后面都有一段MD5的密文,比如 MD5(e8027a87676ea48b3a3c9b0a4d8d87a0),作用和上面我舉得例子類似(我覺得是這樣....).
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26