2011-05-15 72 views
1

我已經使用了一個小片段來編碼,並使用AES128解碼一個字符串。問題是,看起來,當我在不同的平臺上進行編碼和解碼時會有差異。如果我在android SDK或計算機上運行相同的代碼,我似乎得到不同的結果,即使我使用相同的種子/散列。與結果的差異?

爲了說明,執行結果(加密值)因平臺而異。在android中,我得到了另一個值,在標準的java應用程序中,我得到另一個值。

什麼可能是錯的?

http://www.androidsnippets.com/encryptdecrypt-strings

+0

你是否使用相同的字符集對它們進行編碼,例如UTF8?或者更確切地說,這兩個平臺的代碼是相同的,你是否確實指定了一個字符集? – NickT 2011-05-15 12:31:23

+0

你能粘貼你的小片段嗎? – SimonJ 2011-05-15 13:25:54

+0

@Mertan:使用單一的OpenId來保持單一帳戶 – abatishchev 2011-05-15 14:09:03

回答

0

歡迎#1,起初只是看家點,最好不要在這裏使用了「答案」選項回覆評論,只需點擊「添加註釋」。

看一看這個鏈接的加密Encrypting a String with DES

注意的getBytes合格與「UTF8」方式的一例。然後是base64編碼。一些較高級別的Android(API及以上版本)內置了base64,否則很容易編寫自己的,或只是Google for Java + bas64 +示例。如果你使用這個示例代碼,它應該在兩個平臺上給你相同的結果。