2

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;
}

しかし、キーではなくエンコードされたキーの長さを見つけるので、これは間違った方法であると感じます。AESキーの長さを見つけるにはどうすればよいですか?

4

1 に答える 1

2

AESキーの場合、エンコードされた形式は生のバイトであるため、原則としてチェックは問題ありません。

結果はビット長ではなくバイト長になることを覚えておいてください。したがって、を確認してください== 32

于 2013-03-04T07:59:48.957 に答える