2016-06-16 57 views
0

我正在連接到Visual Studio中的Web服務,當觸發我收到錯誤時,我已經正確設置了參數;使用AES和IV的SOAP Web服務解密C# - 要解密的數據的長度無效

解密數據的長度是無效的

這是由於解密,我有一個AES密鑰和IV不完全知道如何將其應用到Web服務請求。

AES密鑰:RijndaelManaged Key = new byte[] { 0x1, 0x2... 0x16 };

IV:RijndaelManaged IV = new byte[] { 0x1, 0x2... 0x16 }

我也查了一下解密幾個線程,並從我發現他們依靠創建開始與加密。我只獲得了AES密鑰和IV,我被告知它已經足夠了。

這就是我所說的web服務;

AWebService.BIServiceClient Client = new AWebService.BIServiceClient();
Client.getTransactions(true, username, password, Period, Year, MethodSignature, Database);

會在哪裏解密代碼去怎麼樣?

+0

這聽起來像你應該加密你正在發送的參數。這並不完全清楚,但我認爲你不應該解密任何東西,這就是電線另一端發生的事情。它試圖解密未加密和失敗的東西。 – Crowcoder

+0

我看到,作爲Web服務的一部分,有一個加密功能,它需要一個字符串形式的參數。在這種情況下,AES密鑰是否毫無意義? – ArraysRus

+0

這不是我的意思。這只是一個受過教育的猜測,但我認爲在調用'getTransactions'之前,您應該使用該密鑰和iv來加密'password'(可能也有其他人)。 – Crowcoder

回答

0

聽起來好像該服務正試圖清除您發送給它的數據(參數),但是您尚未加密它們。

使用密鑰和IV致電前,相應的參數進行加密:

Client.getTransactions(true, username, password, Period, Year, MethodSignature, Database); 

順便說一句,如果你一直在試圖調用與未加密的數據生產服務,你必須承擔的密碼可能會受到影響。考慮改變它。

相關問題