如果我有密码的加密和解密功能,我们有没有办法不能在java代码中打印解密后的密码?
我有一个函数encrypt and decrypt用于密码的加密和解密。当我将密码发送到数据库时,我对其进行加密并发送,但要使用它,我首先将其解密并发送到那个里。 但我不希望任何人使用System.out.println在控制台上打印密码。 它应该以某种方式锁定。 我们能为此做些什么?我已经用java编写了代码,并使用Key编写了代码。 我的代码是如果我有密码的加密和解密功能,我们有没有办法不能在java代码中打印解密后的密码?,java,encryption,password-encryption,Java,Encryption,Password Encryption,我有一个函数encrypt and decrypt用于密码的加密和解密。当我将密码发送到数据库时,我对其进行加密并发送,但要使用它,我首先将其解密并发送到那个里。 但我不希望任何人使用System.out.println在控制台上打印密码。 它应该以某种方式锁定。 我们能为此做些什么?我已经用java编写了代码,并使用Key编写了代码。 我的代码是 String text = "Hello World"; String key = "Bar12345Bar12345"; // 128 bit k
String text = "Hello World";
String key = "Bar12345Bar12345"; // 128 bit key
// Create key and cipher
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encrypted = cipher.doFinal(text.getBytes());
System.err.println(new String(encrypted));
// decrypt the text
cipher.init(Cipher.DECRYPT_MODE, aesKey); String decrypted = new String(cipher.doFinal(encrypted));
System.err.println(decrypted);
这里有一个可能的解决方案 切勿加密/解密密码,这可能会导致安全漏洞。 使用哈希函数对字符串进行密码哈希,这些哈希通常存储在数据库中,密码验证通常通过将哈希密码与数据库中的密码进行比较来完成
因此,除了有效的密码持有者之外,任何人都不可能知道真正的密码 第一件事不要用字符串作为密码。使用字符[]。密码的加密和解密从来都不是一个安全的选项。您应该改为散列函数。@RamanSahasi这主意不错,但只有在您使用密码验证用户输入的内容时,这才有效。如果您使用密码对另一个服务进行身份验证,则需要能够将其重建为原始密码。您是否只需要密码进行用户身份验证,还是需要将明文密码发送到另一个服务?我有一个common.properties文件,我们在其中写入db详细信息。我不希望任何人看到我的数据库密码,这样写在加密的形式有。但是当我们解密时,任何拥有密码的人都可以知道密码。