2014-10-11 38 views
0

我正在編寫一個使用RESTful API和JSON的android應用程序。在這個過程中,我採用查詢字符串並使用SHA-256算法計算HMAC。然後我Base64編碼生成的hmac字符串和原始查詢字符串,並通過json對象將它們發送到我的服務器API。有時候,這種方式非常好,有時候我的服務器會收到hmac的不正確迴應。我不是編碼服務器的人,但我們都爲此深感難過。僅當已編碼的hmac字符串包含符號(如'+'或'/'或者' - '或'_')時纔會出現錯誤。任何幫助或洞察力,表示讚賞。當Base64編碼包含符號時​​HMAC錯誤

回答

0

事實證明,我正在使用的服務器在生成hmac時沒有使用URL安全標誌(使用「+」和「/」而不是「 - 」和「_」),這導致HMAC儘管在Android應用程序中生成了「+」符號,但是在服務器端卻沒有使用「+」符號。當服務器進行了一些我不知道的內容更改時,問題就解決了。問題解決了,應用程序一直運行。

相關問題