2014-08-31 14 views
0

當我試試這個:android.utils.Base64.encode得到不同的值

map.put("password1", Base64.encode("111111".getBytes(),Base64.DEFAULT)); 
map.put("password2", Base64.encode("111111".getBytes(),Base64.DEFAULT)); 
map.put("password3", Base64.encode("111111".getBytes(),Base64.DEFAULT)); 

我有密碼1,密碼2和password3的不同值:

密碼1[B @ 5368aecc

密碼2[B @ 536e9ea0

password3[B @ 536c0dec

是它應該是相同的價值呢? 在此先感謝。

+0

我應該使用「Base64.encodeToString」而不是「Base64.encode」 – topxebec 2014-09-15 03:05:29

回答

1

你基本上打印toString()byte[]陣列。對於不同的字節數組對象,輸出是不同的。

要麼不通過刪除.getBytes()將值存儲爲字節數組,要麼將您的字節數組轉換回字符串new String(byteArray, someEncoding)

1

是的,它可以是相同的,當你添加一些文本到你的字符串,舊的字符串部分是在散列字符串相同。檢查更多在Wikipedia