gpt4 book ai didi

Java:如何使用 CFB 和无填充实现 128 位 AES

转载 作者:行者123 更新时间:2023-12-04 06:23:49 27 4
gpt4 key购买 nike

有人可以给我任何导致这个问题的线索吗?
我需要知道如何使用至少 128 位、CFB 和无填充的 AES 加密和解密。

一些代码或链接将不胜感激。 (我已经在谷歌上看了,但没有幸运的艰难)。

更新:

工作正常!

public byte[] crypt() {
byte[] crypt = null;
try {
final Cipher cipher = Cipher.getInstance("AES/CFB/NoPadding", "SunJCE");
final SecretKey skeySpec = KeyGenerator.getInstance("AES").generateKey();
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
crypt = cipher.doFinal(new byte[]{0, 1, 2, 3});


} catch (Exception ex) {
throw new RuntimeException(ex);
}
return crypt;
}

返回 null .. 为什么?
public String decrypt(byte[] text) {
byte[] crypt = null;
String plainText = null;
try {
final Cipher cipher = Cipher.getInstance("AES/CFB/NoPadding", "SunJCE");
final SecretKey skeySpec = KeyGenerator.getInstance("AES").generateKey();
cipher.init(Cipher.DECRYPT_MODE, skeySpec);

crypt = cipher.doFinal(text);
plainText = new String(crypt);



} catch (Exception ex) {
throw new RuntimeException(ex);
}
return plainText;
}

此致,
瓦尔特·恩里克。

最佳答案

试一试:

final Cipher cipher = Cipher.getInstance("AES/CFB/NoPadding", "SunJCE");
final SecretKey skeySpec = KeyGenerator.getInstance("AES")
.generateKey();
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
System.out.println(Arrays.toString(cipher.doFinal(new byte[] { 0, 1, 2,
3 })));

关于Java:如何使用 CFB 和无填充实现 128 位 AES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com