簡體   English   中英

SHA1哈希澄清

[英]SHA1 hash clarification

我有以下python代碼:

from hashlib import sha1
secretString=b"this is the secret string"
publicData=b"x10291434"
hash=sha1(publicData+secretString).hexdigest()

現在,如果我發送publicDatahash供公眾使用。 這樣安全嗎? 我要檢查,當用戶提供publicData回到它的匹配hash我本來跟我發送secretKey

我只是想檢查一下我做的是否正確

看來您正在嘗試進行HMAC

您應該嘗試使用類似危險的東西

>>> from itsdangerous import Signer
>>> s = Signer('secret-key')
>>> s.sign('my string')
'my string.wh6tMHxLgJqB6oY1uT73iMlyrOA'
>>> s.unsign('my string.wh6tMHxLgJqB6oY1uT73iMlyrOA')
'my string'

好吧,SHA-1不被認為是安全的哈希算法,因此,不安全。

SHA-1不再被認為能對付資金雄厚的對手。 在2005年,密碼分析家發現了對SHA-1的攻擊,這表明該算法可能不夠安全,無法持續使用。[4]自2010年以來,許多組織建議將其替換為SHA-2或SHA-3。[5] [6] [7] 微軟[8]谷歌[9]蘋果[10]和Mozilla [11] [12] [13]都宣布,各自的瀏覽器將在2017年停止接受SHA-1 SSL證書。

來源: https : //en.wikipedia.org/wiki/SHA-1

更多閱讀: https : //www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM