如何将自动生成的密钥存储在文本文件中,

时间:2014-12-23 10:34:11

标签: java encryption

如何将生成的密钥存储在特定位置的文本文件中。我正在尝试存储密钥并在特定用户需要时解密。我使用两个不同的java类进行加密和解密,我需要存储特定密钥用于加密用户我正在获取非法块大小,无法解密文件中的数据,数据被删除。

SecretKey secKey = keyGen.generateKey();

System.out.println(secKey);
String KeyStore = "C:\\keystore.txt";
FileOutputStream fout=new FileOutputStream(KeyStore);  


byte[] b=secKey.getBytes();//this is not working for me 
fout.write(b);  
fout.close(); 

帮我解决这个问题,另外还有一个选项来存储特定用途的密钥

1 个答案:

答案 0 :(得分:0)

以上所有答案都是无稽之谈,作为java开发人员,我们都应该知道有一个函数叫做:

用于存储自动生成密钥的Java KeyStore以下是我自己想出的代码。 本代码只是我发布的不完整代码的小部分。只是为了给你们一个想法

 final String keyStoreFile = "C:\\mykey.jceks";// Storing the Key in a Particulary.
 KeyStore keyStore = createKeyStore(keyStoreFile, "java143");
 System.out.println("Stored Key: " + (secKey));
 System.out.println("secured key: " + (keyStore));


 // store the secret key
 KeyStore.SecretKeyEntry keyStoreEntry = new KeyStore.SecretKeyEntry(secKey);
 //Padding for password
 PasswordProtection keyPassword = new PasswordProtection("pw-secret".toCharArray()); 

 keyStore.setEntry("mySecret", keyStoreEntry, keyPassword);
 keyStore.store(new FileOutputStream(keyStoreFile), "java143".toCharArray());