我有一個(gè)圍棋程序package mainimport ( "crypto/hmac" "crypto/sha1" "fmt")func main() { val := []byte("nJ1m4Cc3") hasher := hmac.New(sha1.New, val) fmt.Printf("%x\n", hasher.Sum(nil)) // f7c0aebfb7db2c15f1945a6b7b5286d173df894d}以及試圖重現(xiàn) Go 代碼的 Python (2.7) 程序(使用crypto/hmac)import hashlibval = u'nJ1m4Cc3'hasher = hashlib.new("sha1", val)print hasher.hexdigest()# d67c1f445987c52bceb8d6475c30a8b0e9a3365d使用hmac模塊給了我一個(gè)不同的結(jié)果,但仍然與 Go 代碼不同。import hmacval = 'nJ1m4Cc3'h = hmac.new("sha1", val)print h.hexdigest()# d34435851209e463deeeb40cba7b75ef為什么當(dāng)它們在相同的輸入上使用相同的散列時(shí)會打印不同的值?
添加回答
舉報(bào)
0/150
提交
取消