我已经使用 DES 算法加密了我的文件,并将 tat DES Secretkey 存储到数据库中,并将其转换为字符串。现在我想将该字符串转换为 Secretkey。
这是代码。
secret_key = KeyGenerator.getInstance("DES").generateKey();
alogrithm_specs = new IvParameterSpec(initialization_vector);
// set encryption mode ...
encrypt = Cipher.getInstance("DES/CBC/PKCS5Padding");
encrypt.init(Cipher.ENCRYPT_MODE, secret_key, alogrithm_specs);
//out.print("actual secret_key:"+secret_key);
String keyString = encoder.encode(secret_key.getEncoded());
//out.print("keyString:"+keyString);
byte[] encodedKey = decoder.decodeBuffer(keyString);
//out.print("byte[]:"+encodedKey);
secret_key= new SecretKeySpec(encodedKey,0,encodedKey.length, "DES");
//out.print("after encode & decode secret_key:"+secret_key);
上面的代码会将字符串转换为键,如下所示:
actual secret_key: 'com.sun.crypto.provider.DESKey@1807c'
keyString:hvsCa0XcXhY=
byte[]:[B@7c91fe
after encode & decode secret_key:'javax.crypto.spec.SecretKeySpec@1807c`
我想通过将密钥转换为字符串来将该密钥存储到数据库中。然后在解密时我想将该字符串转换回密钥。