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

Java 如何将自动生成的密钥存储在文本文件中,,java,encryption,Java,Encryption,如何将生成的密钥存储在特定位置的文本文件中。我正在尝试存储密钥,并在特定用户需要时解密。我使用两个不同的java类,一个用于加密和解密,我需要存储用于加密用户的特定密钥,否则我将获得非法块大小,无法解密文件中的数据,数据将被删除 SecretKey secKey = keyGen.generateKey(); System.out.println(secKey); String KeyStore = "C:\\keystore.txt"; FileOutputStream fout=new F

如何将生成的密钥存储在特定位置的文本文件中。我正在尝试存储密钥,并在特定用户需要时解密。我使用两个不同的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(); 

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

以上所有答案都是胡说八道,作为java开发人员,我们都应该知道有一个函数名为:

存储自动生成密钥的Java密钥库是我自己发现的代码。 这段代码只是我贴的一小段不完整的代码。只是给你们一个想法

 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());

你用什么代码读回钥匙?您确定文件本身是错误的吗?此外,所有变量名称都应该以小写字母开头,并且您应该将文件写入对用户和应用程序更私密的位置,而不是驱动器的根目录。%APP\u DATA%\MyApp,我想。