Avatar billede skwat Praktikant
02. maj 2005 - 23:32 Der er 3 kommentarer og
1 løsning

Gemme byte array i XML sikkert

Hejsa,

Jeg har behov for at gemme en RSA krypteret streng i XML, hvilket umiddelbart giver nogen problemer.
Det jer gør pt. er at lave en unicode kodning af det byte array der kommer ud af .Encrypt, hvilket også virker fint.
Men hvis jeg gemmer denne streng i et XMLdocument får jeg en " Erstatningsparret er ugyldigt." når jeg forsøger at gemme det(til disk eller noget).

Derfor spørger jeg, findes der en bedre måde at gemme byte arrays i XML? Jeg har forsøgt mig med at lave en utf8encoding, men her er resultatet ikke det samme, når man laver en .getString(byte[]) bagefter.

Nogen idéer?
Avatar billede arne_v Ekspert
02. maj 2005 - 23:33 #1
Lav en Base64 encoding !
Avatar billede arne_v Ekspert
02. maj 2005 - 23:35 #2
Eksempel fra lageret:

using System;
using System.Text;
using System.Security.Cryptography;

class MainClass
{
    public static void Main(string[] args)
    {
        Encoding utf = new UTF8Encoding();
        DES des = new DESCryptoServiceProvider();
        byte[] key = utf.GetBytes("hemmelig");
        byte[] iv = { 1, 2, 3, 4, 5, 6, 7, 8 };
        ICryptoTransform encrypt = des.CreateEncryptor(key, iv);
        string plain = "Dette er en lille test";
        Console.WriteLine(plain);
        byte[] cipher = encrypt.TransformFinalBlock(utf.GetBytes(plain), 0, utf.GetByteCount(plain));
        string cipherb64 = Convert.ToBase64String(cipher);
        Console.WriteLine(cipherb64);
        ICryptoTransform decrypt = des.CreateDecryptor(key, iv);
        byte[] cipher2 = Convert.FromBase64String(cipherb64);
        string plain2 = utf.GetString(decrypt.TransformFinalBlock(cipher2, 0, cipher.Length));
        Console.WriteLine(plain2);
    }
}

(det relevante er byte[] -> string via ToBase64String og string -> byte[]
via FromBase64String)
Avatar billede skwat Praktikant
03. maj 2005 - 00:12 #3
arne_v, jeg har skrevet til admin@eksperten.dk at når det er dig der logger ind, så skal der defaultes til Svar, og ikke Kommentar.
Endnu engang tak til Arne Google++ MSDN++ V

ps. Jeg kunne have svoret at jeg havde forsøgt med base64, men da fik jeg problemer med at dekryptere.
Avatar billede arne_v Ekspert
03. maj 2005 - 07:12 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester