java - 在 Java 中强制使用 AES 256

标签 java cryptography jce

我想编写一个强制使用 AES-256 的 Java 方法。为此,我想对传入的 SecretKey 实例执行检查。对于 RSA,这就是我正在做的事情:-

public boolean checkKey(RSAKey key) {
    if ( key.getModulus().bitLength() == 1024 )
        return true;
    return false;
}

在 AES 的情况下,会执行以下操作吗?

public boolean checkKey(SecretKey key) {
    if ( key.getAlgorithm() == "AES" && key.getEncoded().length == 256 )
        return true;
    return false;
}

但我感觉这是错误的方法,因为我会找到编码 key 的长度而不是 key 。我怎样才能找到我的 AES key 的长度?

最佳答案

对于 AES key ,编码形式只是原始字节,因此原则上您的检查没有问题。

请记住,结果将是字节长度,而不是位长度,因此请检查== 32

关于java - 在 Java 中强制使用 AES 256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195019/

相关文章:

java - Spring MVC中Quarts调度器多次执行

java - 如何添加输入数字以消除重复的数字?

java - 如何在链接列表中显示与用户从 JOptionPane 输入相匹配的结果?

c# - 使用加密后在终结器线程中获取 "ReleaseHandleFailed"MDA

c# - 在客户端-服务器环境中使用 AES 加密

encryption - 没有私有(private)指数的 RSA 解密

java - jvm8 中的元空间大小是多少?

Java JCE 加密文件夹?

java - 使用自定义 JCE 安全提供程序而不进行签名

java - 算术异常 : using Cipher Algorithm "AES/CFB1/PKCS5Padding" from BouncyCaSTLeProvider