Bonjour,

Je suis en train de faire une application et j'ai besoin de crypter un flux XML.

Je m'explique.

J'ai créé un objet (oCustomer) et je voudrais le sérialiser et ensuite l'enregistrer dans un fichier crypter.

J'ai réussi à le faire mais je passe par la génération d'un fichier xml sur le poste. Le but serait de prendre mon objet, le sérialiser, le crypter et l'enregistrer.

Mais je n'y arrive pas. Je crois qu'un an sans faire de .Net m'a un peu rouiller.

Voici ce que j'arrive à faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub saveXml(ByVal customer As oCustomer)
        'Sérialisation et création du fichier XML
        Dim objStreamWriter As New StreamWriter("D:\Product.xml")
        Dim x As New XmlSerializer(customer.GetType)
        x.Serialize(objStreamWriter, customer)
        objStreamWriter.Close()
 
        'Lecture du fichier XML pour le crypter
        Dim fsInput As New FileStream("D:\Product.xml", FileMode.Open, FileAccess.Read)
        Dim fsEncrypted As New FileStream("D:\monxml.crypt", FileMode.Create, FileAccess.Write)
        Dim DES As New DESCryptoServiceProvider()
        DES.Key = ASCIIEncoding.ASCII.GetBytes("Password")
        DES.IV = ASCIIEncoding.ASCII.GetBytes("Password")
        Dim desencrypt As ICryptoTransform
        desencrypt = DES.CreateEncryptor()
        Dim cryptostream As New CryptoStream(fsEncrypted, desencrypt, CryptoStreamMode.Write)
        Dim bytearrayinput(fsInput.Length) As Byte
 
        fsInput.Read(bytearrayinput, 0, bytearrayinput.Length)
        cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length)
        cryptostream.Close()
        fsInput.Close()
        fsEncrypted.Close()
    End Sub
Merci d'avance pour votre aide.