我有一個字符串(stringToEncrypt),它被AES-128加密並得到一個字節[]。我嘗試將該字節[]作爲字符串寫入數據庫。下面的例子:在java中的AES-128位字節數組到數據庫
String encryptedString = new String(aes.encode(stringToEncrypt.getBytes()));
「編碼」 的方法獲得一個字節[]作爲參數並返回一個字節[]。 「aes」對象使得AES-128編碼過程成爲可能。 問題是,當我嘗試將encryptedString寫入數據庫時,寫入數據庫的某些字符與「String encryptedString」不同。我認爲問題是關於數據庫的字符集或我的代碼。有什麼建議嗎?
謝謝Otto!我使用Base64作爲aes.encode並將其作爲字符串返回,然後寫入數據庫!非常感謝你。 – user1533833 2012-07-18 07:24:10
不要忘記接受答案 – 2012-07-18 07:31:20
另外,不要使用'String.getBytes()';使用'String.getBytes(「UTF-8」)'。不要使用'String(byte [])'構造函數;使用String(byte [],「UTF-8」)'。 – 2012-07-18 11:01:33