我想编写一个强制使用 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/