這篇文章主要介紹python中hash算法可逆嗎,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
hash,一般翻譯做散列、雜湊,或音譯為哈希,是把任意長度的輸入(又叫做預映射pre-image)通過散列算法變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小于輸入的空間。
它其實就是一個算法,最簡單的算法就是加減乘除,比方,我設計個數(shù)字算法,輸入+7=輸出,比如我輸入1,輸出為8;輸入2,輸出為9。
哈希算法不過是一個更為復雜的運算,它的輸入可以是字符串,可以是數(shù)據(jù),可以是任何文件,經(jīng)過哈希運算后,變成一個固定長度的輸出,該輸出就是哈希值。但是哈希算法有一個很大的特點,就是你不能從結果推算出輸入,所以又稱為不可逆的算法
hash值特點
1.只要傳入的內(nèi)容一樣,得到的hash值必然一樣(要用明文傳輸密碼文件的完整性校驗)
2.不能由hash值反解成內(nèi)容(把密碼做成hash值,不應該在網(wǎng)絡上傳輸明文密碼)
3.只要使用的hash算法不變,無論校驗的內(nèi)容有多大,得到的hash值長度是固定的
>>> hash('我愛你') 3471388576844338423 >>> hash('小猿圈') 5000768010434506639
如上所示,輸入“我愛你”三個字,經(jīng)過哈希運算后,會得到一個隨機數(shù)列,而且不管你的輸入文件多大,最后得到的結果都是這么一個固定長度的數(shù)列,即使你輸入的是一部電影,輸出也是這么大。而且通過數(shù)列不能推導出輸入。
以上是“python中hash算法可逆嗎”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!