gpt4 book ai didi

java - 即使使用 256 位 key ,Cipher.getBlockSize() 也返回 128 位

转载 作者:行者123 更新时间:2023-11-30 06:41:18 25 4
gpt4 key购买 nike

我正在尝试进行一些 AES 加密。我想使用 AES-256。

aesKey.length = 32 或 256 位。但是,Cipher.getBlockSize() 返回 16 或 128 位。如果我使用 AES-256,Cipher.getBlockSize() 不应该返回 32 而不是 16 吗?还是我误解了这个方法?

我只是想确定我使用的是 AES-128 还是 -256。

byte[] aesKey = new byte[32];

SecretKey originalKey = new SecretKeySpec(aesKey, 0, aesKey.length, "AES");
Cipher enc = Cipher.getInstance("AES/ECB/PKCS5Padding");
enc.init(Cipher.ENCRYPT_MODE, originalKey);

System.out.println(enc.getBlockSize() * 8);

最佳答案

AES 的 block 大小为 128 位。这不取决于您使用的 key 大小。

您不能更改 block 大小,但可以更改 key 大小。 AES 指定支持 128、192 和 256 位 key 。

关于java - 即使使用 256 位 key ,Cipher.getBlockSize() 也返回 128 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961138/

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