0

私はjavax.crypto.Cipherコードを書いていて、StackOverflow で多くの質問に答えてきたので、このサイトに含まれる情報に感謝しています。このサイトで答えが見つからない質問がありました。

次のコードは、SecretkeySpec を生成します。

try {
        keyGen = KeyGenerator.getInstance("AES");
}
catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
}

secureRandomCipher = new SecureRandom();
seed = new Random().nextLong();
secureRandomCipher.setSeed(seed);

try {
    secureRandomIV = SecureRandom.getInstance("SHA1PRNG");
}
catch (NoSuchAlgorithmException noSuchAlgorithm) {
    System.out.println(noSuchAlgorithm.getMessage());
}

keyGen.init(128, secureRandomCipher);
Key encryptionKey = keyGen.generateKey();

encryptionKey は、「AES」アルゴリズムを使用した SecretKeySpec です。

次のような「SecretKeySpec」の使用について明示する必要がありますか

Key decryptionKey = new SecretKeySpec(encryptionKey.getEncoded(), encryptionKey.getAlgorithm());

または私がやっていることは十分です。コード長の観点から利点が見られます。

4

0 に答える 0