2011-11-14 4 views
0

Je crypte une chaîne dans C# (RijndaelManaged), qui retourne un tableau d'octets. Je souhaite enregistrer ce tableau d'octets dans une base de données afin de le décrypter plus tard dans l'appareil Android.Cryptage C# Android Decryption

J'ai essayé de le convertir en base64 en C#, mais comme je comprends android ne supporte pas le décodage base64 avant API8.

Existe-t-il une autre façon d'enregistrer le tableau d'octets dans la base de données, afin que je puisse le récupérer plus tard et le décrypter sur android?

10X

+0

Pourquoi avez-vous besoin de convertir en Base64? Vous pouvez stocker des tableaux d'octets dans la plupart des bases de données. – GeirGrusom

+0

Les appareils Android peuvent rarement accéder aux bases de données Accès aux applications C#, ils ont besoin de services Web au milieu. – zmbq

+0

La base de données sera convertie en base de données sqlite (De MySql). –

Répondre

0

Vous pouvez trouver les décodeurs Java base64 partout http://www.source-code.biz/base64coder/java/, l'ajouter à votre projet Android et vous êtes hors. Si ce n'est pas le cas, traduisez chaque octet en deux chiffres hexadécimaux en C#, puis de nouveau dans Android. C'est très facile de le faire vous-même.

+0

I'm Essayer la classe java, mais le résultat est différent de ce qui a été créé à l'origine dans le code C#. J'essaie de comprendre pourquoi. –

+0

Je dis ne vous inquiétez pas du tout. Convertir en hexagone et oublier. – zmbq

+0

J'ai essayé les deux (Base64 et Hex), et pour une raison quelconque certains des octets que je reçois dans android sont négatifs, tandis que le tableau d'origine C# octet est tout positif. Des idées? –

0

Mise à jour:

vous pouvez mettre en œuvre les base64 vous coder des deux côtés de sorte que vous pouvez être sûr, vous pouvez voir le code exemple de la façon de mettre en œuvre l'encodage base64 et le décodage dans des langues comme c, C++, java et javascript sur wikibooks

Oui, si vous utilisez SQL Server, vous pouvez utiliser VarBinary

vous c en savoir plus sur une insérer un tableau d'octets dans la base de données dans this SO question

Vous pouvez insérer BLOB Data in SQLITE et MySql trop

+0

J'utilise MySQL, qui sera plus tard converti en sqlite. –

+0

Cochez [Comment stocker et récupérer un blob de sqlite] (http://stackoverflow.com/questions/625029/how-do-i-store-and-retrieve-a-blob-from-sqlite) pour voir comment pour stocker les données blo dans sqllite – Vamsi