2016-09-29 62 views
0

I am taking message and key from this URL如何在Python代碼中使用SHA256-HMAC?

import hmac 
import hashlib 
import base64 
my = "/api/embedded_dashboard?data=%7B%22dashboard%22%3A7863%2C%22embed%22%3A%22v2%22%2C%22filters%22%3A%5B%7B%22name%22%3A%22Filter1%22%2C%22value%22%3A%22value1%22%7D%2C%7B%22name%22%3A%22Filter2%22%2C%22value%22%3A%221234%22%7D%5D%7D" 
key = "e179017a-62b0-4996-8a38-e91aa9f1" 
print(hashlib.sha256(my + key).hexdigest()) 

我得到這個結果:

2df1d58a56198b2a9267a9955c31291cd454bdb3089a7c42f5d439bbacfb3b88 

期待的結果:

adcb671e8e24572464c31e8f9ffc5f638ab302a0b673f72554d3cff96a692740 

回答

1

你最好不要讓所有在代碼中使用的hmac

使用hmac,從你的關鍵,信息構建HMAC對象,並通過將在其構造識別的哈希算法的典型方式:

h = hmac.new(key, my, hashlib.sha256) 
print(h.hexdigest()) 

應該輸出

adcb671e8e24572464c31e8f9ffc5f638ab302a0b673f72554d3cff96a692740 

爲你的榜樣數據。

+0

獲取錯誤:TypeError:'module'對象不可調用 –

+0

@VenkateshPanabaka:這是因爲我在這裏複製時錯誤地使用'.new' - 現在修復。 –

+0

非常感謝。它正在工作.. –

相關問題