关键接口& SecretKeySpec混凝土;使用Key还是SecretKeySpec?

时间:2016-06-13 14:46:58

标签: java cryptography secret-key block-cipher

我一直在编写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());

或者我正在做的就是足够的。从代码长度的角度来看,我可以看到一个优势。

0 个答案:

没有答案