【发布时间】:2022-01-25 17:57:34
【问题描述】:
我正在努力将以下代码转换为 c#:
private SecretKey generateSecretKey(char[] key, byte[] salt) {
this.FACTORY = SecretKeyFactory.getInstance("PBEWithHmacSHA256AndAES_256");
KeySpec spec = new PBEKeySpec(key, salt, 65536, 256);
SecretKey tmp = this.FACTORY.generateSecret(spec);
return new SecretKeySpec(tmp.getEncoded(), "AES");
}
c#中PBEWithHmacSHA256AndAES_256/PBEKeySpec背后对应的算法是什么?
然后将 java 代码用于这样的事情:
this.secretKey = generateSecretKey(this.key, newSalt);
Cipher c = Cipher.getInstance("AES/CBC/PKCS5PADDING");
c.init(2, this.secretKey, new IvParameterSpec(IV));
我还注意到C#中不存在PKCS5PADDING 可以用PKCS7替换吗? 任何帮助将不胜感激!
【问题讨论】: