一、什么是哈希值(hash)?
哈希(hash)是一類算法的總稱,常見的哈希算法包括:MD4、MD5、sha系列等算法;哈希算法能夠?qū)魅氲膬?nèi)容,經(jīng)過運算得到一串哈希值。
二、哈希有什么用?
1、哈希值的特點
A. 只要使用相同的hash算法,無論校驗的內(nèi)容大小是多少,得到的哈希值的長度是固定的;
B. 使用相同的算法,只要傳入的內(nèi)容是一樣的,得到的哈希值必然一模一樣;
C. 在不知道算法的情況下,不能由哈希值返解成被傳入的內(nèi)容(理論上)。
2、哈希值的作用
因為哈希值具備的特殊性,所以哈希算法能夠在密碼領(lǐng)域起到很好的作用;
比如:我們在登陸APP時,輸入的密碼會被哈希算法加密成一串哈希值,上傳到服務(wù)器中;因為上傳的數(shù)據(jù)都不是明文密碼,哪怕被黑客獲取到了一些數(shù)據(jù),沒有相應(yīng)的哈希算法,也只得到一堆亂碼,沒有實際作用;同時,哈希算法也是區(qū)塊鏈的底層支撐之一。
三、哈希的使用方法介紹(基于Python)
在Python中內(nèi)置了一個哈希算法庫hashlib;使用hashlib庫就一行代碼就將明文轉(zhuǎn)換成哈希值;
下面是一個簡單的哈希加密示例: