我正在生成一个密钥并需要将其存储在DB中,因此我将其转换为String,但要从String中获取密钥.有哪些可能的方法来实现这一目标?
我的代码是,
SecretKey key = KeyGenerator.getInstance("AES").generateKey();
String stringKey=key.toString();
System.out.println(stringKey);
Run Code Online (Sandbox Code Playgroud)
如何从String获取密钥?
我使用以下代码将密钥转换为字节
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
byte[] bkey=key.getEncoded();
Run Code Online (Sandbox Code Playgroud)
现在如何从中获取密钥bkey?我试过了:
SecretKeySpec secretkey = new SecretKeySpec(bkey,"DES");
SecretKeyFactory sfkey = SecretKeyFactory.getInstance("DES");
SecretKey skey = sfkey.generateSecret(secretkey);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error during Exception java.security.spec.InvalidKeySpecException: Inappropriate key specification
Run Code Online (Sandbox Code Playgroud)