Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我有密码的加密和解密功能,我们有没有办法不能在java代码中打印解密后的密码?_Java_Encryption_Password Encryption - Fatal编程技术网

如果我有密码的加密和解密功能,我们有没有办法不能在java代码中打印解密后的密码?

如果我有密码的加密和解密功能,我们有没有办法不能在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

我有一个函数encrypt and decrypt用于密码的加密和解密。当我将密码发送到数据库时,我对其进行加密并发送,但要使用它,我首先将其解密并发送到那个里。 但我不希望任何人使用System.out.println在控制台上打印密码。 它应该以某种方式锁定。 我们能为此做些什么?我已经用java编写了代码,并使用Key编写了代码。 我的代码是

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详细信息。我不希望任何人看到我的数据库密码,这样写在加密的形式有。但是当我们解密时,任何拥有密码的人都可以知道密码。