2

我是windows phone開發新手。如何在WP7中使用AES/ECB/PKCS7Padding算法?如何在Windows Phone 7中使用AES/ECB/PKCS7Padding算法?

雖然Google搜索了一下,但看到很多關於Bouncy Castle的建議。但我並沒有清楚地瞭解這座充氣城堡。這是一個算法嗎?

我需要加密/解密發送到服務器的密碼。在所有其他手機(Android,iPhone,Blackberry)中,我們使用AES/ECB/PKCS7Padding算法。他們都給我們的輸入同樣ecrypted /解密結果。但在Windows Phone中,我使用AesManaged Class進行加密。但它給出了不同的加密結果。在關於AESManaged類的msdn文檔(MSDN documentation)中,他們表示「密碼模式總是CBC,並且填充模式總是PKCS7」。我想也許這就是爲什麼在這裏我得到不同的加密結果比較其他手機。

這是問題嗎?如果它的話,那我該如何在WP7中使用AES/ECB/PKCS7Padding算法?

我沒有看到在AesManaged類中設置密碼模式的任何屬性。

謝謝。

+0

嗨...你能解決你的問題嗎?我正在運行一個類似的問題。任何幫助將被appriciated – 2015-07-20 13:08:23

回答

3

如果你想在Windows Phone中使用AES/ECB/PKCS7Padding,你應該使用Bouncy Castle庫。

這個庫不是完全適用於Windows Phone,也不能使用Bouncy Castle站點的dll。相反,您應該從here下載WP7移植的庫。 (在文章底部的兩個鏈接)

現在,您可以使用Org.BouncyCastle.Crypto.IBufferedCipher類型。

cipher = CipherUtilities.GetCipher("AES/ECB/PKCS7"); // or PKCS7PADDING, no matter 
cipher.Init(false, new KeyParameter(key)); // or something else 

然後你應該使用這個變量。

是的,

「的加密模式始終是CBC,並填充模式始終是PKCS7」

這就是爲什麼你得到錯誤的結果。