我在c#(RijndaelManaged)中加密一個字符串,它返回一個字節數組。C#加密Android解密
我想將該字節數組保存到數據庫,以便稍後在android設備中解密。
我已經嘗試將其轉換爲C#base64,但據我所知android不支持API8之前的base64解碼。
是否有另一種方式保存數據庫中的字節數組,所以我可以稍後獲取它並在android上解密它?
10X
我在c#(RijndaelManaged)中加密一個字符串,它返回一個字節數組。C#加密Android解密
我想將該字節數組保存到數據庫,以便稍後在android設備中解密。
我已經嘗試將其轉換爲C#base64,但據我所知android不支持API8之前的base64解碼。
是否有另一種方式保存數據庫中的字節數組,所以我可以稍後獲取它並在android上解密它?
10X
你可以找到的Java Base64編碼解碼器無處不在http://www.source-code.biz/base64coder/java/,將它添加到你的Android項目,你就關閉。
如果不是,只需將每個字節轉換爲C#中的兩個十六進制數字,然後再返回到Android。你自己做這件事很容易。
我正在嘗試java類,但結果與最初在C#代碼中創建的結果不同。我想弄明白爲什麼。 –
我說不用擔心。轉換爲十六進制並忘記它。 – zmbq
我已經試過(Base64和Hex),並且由於某種原因,我在android中獲得的一些字節是負數,而原始的c#字節數組都是正數。有任何想法嗎? –
更新:
可以實現雙方編碼自己,這樣你可以肯定,你可以看到如何實現像語言Base64編碼和解碼的示例代碼中的Base64 C,C++,Java和JavaScript的上wikibooks
是的,如果你正在使用SQL Server,你可以使用VarBinary
你ç在一個this SO question
閱讀更多關於插入一個字節數組到數據庫,您可以將BLOB Data in SQLITE和MySql太
我使用MySql,後來將被轉換爲SQLite。 –
檢查[如何從sqlite中存儲和檢索blob](http://stackoverflow.com/questions/625029/how-do-i-store-and-retrieve-a-blob-from-sqlite)來查看如何以sqllite存儲Blo數據 – Vamsi
爲什麼你需要轉換爲Base64?您可以在大多數數據庫中存儲字節數組。 – GeirGrusom
Android設備很少可以訪問數據庫的C#應用程序訪問,他們需要中間的Web服務。 – zmbq
數據庫將被轉換爲sqlite數據庫(從MySql)。 –