-1
我有一個函數加密和解密密碼的加密和解密。當我將密碼發送到數據庫時,我會對其進行加密併發送,但要使用它,我先將其解密並將其發送到那裏。 但我不想讓任何人使用System.out.println在控制檯上打印密碼。 它應該以某種方式鎖定。 我們可以爲此做些什麼?我已經用java編碼並使用Key編寫我的代碼。 我的代碼是如果我有密碼加密和解密功能,有沒有什麼辦法可以在我們的java代碼中打印解密後的密碼?
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);
第一件事不使用字符串的密碼。使用char []。 – Amit1011
從不安全的選項加密和解密密碼。你應該改爲散列函數。 –
@RamanSahasi不錯的主意,但只有當你使用密碼*驗證*用戶輸入的內容纔有效。如果您使用密碼對其他服務進行身份驗證,則需要將其重建爲原始密碼。 –