簡體   English   中英

將Java AES ECB加密移植到UWP兼容的C#代碼中

[英]Port Java AES ECB encryption into UWP compatible C# Code

我是密碼學領域的新手,並且已經在此問題上停留了兩天。

我有一個用於AES / ECB加密的Java代碼,我希望我的uwp應用程序使用相同的加密技術,但是到目前為止,我嘗試過的任何操作都會產生不同的加密結果。 關於stackoverflow的很多答案都建議使用RijndaelManaged類,但是該類不適用於UWP

這是Java代碼段

 public string encrypt(String input, string key) {
    SecretKeySpec skey = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.ENCRYPT_MODE, skey);
    crypted = cipher.doFinal(input.getBytes("UTF-8"));
    return Base64.encodeToString(crypted,Base64.NO_WRAP);
}

您需要使用此答案來查看如何加密/解密。 但是,您需要使用其他算法(ECB如此不安全)。 因此,您需要使用SymmetricAlgorithmNames中的 AesEcbPkcs7來代替給定的CBC密碼模式。


筆記:

  • PKCS#7與Java代碼中使用的PKCS#5相同,更多信息請參見此處
  • 您當然不需要為IVB模式使用IV,因此請刪除它;
  • 我將省略UTF-8編碼和base 64解碼,因此在任何語言/環境中進行這些編碼都應該很容易( ConvertUTF8Encoding類似乎可用於UWP應用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM