将SecretKey转换为字节,如何将其转换回SecretKey?

我使用以下代码将密钥转换为字节

SecretKey key = KeyGenerator.getInstance("DES").generateKey();

byte[] bkey=key.getEncoded();

现在如何从中获取密钥bkey?我试过了:

SecretKeySpec secretkey = new SecretKeySpec(bkey,"DES");   

SecretKeyFactory sfkey = SecretKeyFactory.getInstance("DES");

SecretKey skey = sfkey.generateSecret(secretkey);

我收到以下错误:

Error during Exception java.security.spec.InvalidKeySpecException: Inappropriate key specification

回答:

这应该工作

    SecretKey key = KeyGenerator.getInstance("DES").generateKey();

byte[] data = key.getEncoded();

SecretKey key2 = new SecretKeySpec(data, 0, data.length, "DES");

以上是 将SecretKey转换为字节,如何将其转换回SecretKey? 的全部内容, 来源链接: utcz.com/qa/421024.html

回到顶部