我想從字節數組創建一個字符串,但它給了我一些隨機值。字節數組是加密的,所以我不確定我是否正確解密。隨機值看起來像 - [B @ 1uy3798。每次它給不同的隨機值。我該如何解決這個問題?String.valueOf()給出隨機值
public class MainActivity {
public static void main(String[] args) {
Key publicKey = null;
Key privateKey = null;
byte[] encoded;
byte[] text = new byte[0];
try {
text = "This is my secret message".getBytes();
Cipher c = Cipher.getInstance("RSA");
c.init(Cipher.ENCRYPT_MODE, publicKey);
encoded = c.doFinal(text);
c = Cipher.getInstance("RSA");
c.init(Cipher.DECRYPT_MODE, privateKey);
text = c.doFinal(encoded);
} catch (Exception e) {
System.out.println("Exception encountered. Exception is " + e.getMessage());
}
System.out.println(String.valueOf(text)); //get random values here
}
}
它看起來像你在字節數組上調用'toString()'。 – SLaks
你應該報告你所遇到的任何異常,而不是默默地忽略它們。也許你錯過了一個簡單的錯誤? –