对于加密我使用这样的东西:
SecretKey aesKey = KeyGenerator.getInstance("AES").generateKey();
StringEncrypter aesEncrypt = new StringEncrypter(aesKey, aesKey.getAlgorithm());
String aesEncrypted= aesEncrypt.encrypt(StringContent);
Run Code Online (Sandbox Code Playgroud)
如果我打印出aesKey,我会得到:"javax.crypto.spec.SecretKeySpec@1708d".
所以对于加密我想问用户关键但不知道它应该是什么格式.我的计划是这样的:
SecretKey aesKey = javax.crypto.spec.SecretKeySpec@1708d;
StringEncrypter aesEncrypt = new StringEncrypter(aesKey, aesKey.getAlgorithm());
String aesDecrypt = aesEncrypt.decrypt(aesEncrypted);
Run Code Online (Sandbox Code Playgroud)
但似乎它不起作用.是否有一些简单的方法可以在加密后将密钥打印到控制台,以便用户可以保存(或记住它)然后用于解密?
整个代码在这里:无法解密来自文本文件,对称密钥工具的密文.在java 所以我很抱歉再次发布但我不确定如果代码甚至可读(我是新手).