IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Crypter un flux XML pour l'enregistrer


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Par défaut Crypter un flux XML pour l'enregistrer
    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.

  2. #2
    Membre confirmé
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Par défaut
    Bon, j'ai réussi en faisant ça :
    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
        Private Sub saveXml(ByVal customer As oCustomer)
            Dim FileName As String = "D:\Text.txt"
            Dim fStream As FileStream = File.Open(FileName, FileMode.OpenOrCreate)
     
            Dim DES As New DESCryptoServiceProvider()
            DES.Key = ASCIIEncoding.ASCII.GetBytes(myKey)
            DES.IV = ASCIIEncoding.ASCII.GetBytes(myKey)
            Dim desencrypt As ICryptoTransform
            desencrypt = DES.CreateEncryptor()
     
            Dim cStream As New CryptoStream(fStream, _
                                           DES.CreateEncryptor(), _
                                           CryptoStreamMode.Write)
     
            Dim objStreamWriter As New StreamWriter(cStream)
            Dim x As New XmlSerializer(customer.GetType)
            x.Serialize(objStreamWriter, customer)
     
            objStreamWriter.Close()
            cStream.Close()
            fStream.Close()
        End Sub

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Par défaut
    Salut , ca m'intéresse , moi j'utilise ce code pour Sérialiser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Private Sub Serialisation()
            'On crée le fichier et récupère son flux
            Dim FluxDeFichier As FileStream = File.Create("Bibliotheque.bin")
            Dim Serialiseur As New XmlSerializer(GetType(List(Of info)))
            'Serialisation et écriture
            Serialiseur.Serialize(FluxDeFichier, _Liste)
            'FerMeture du fichier
            FluxDeFichier.Close()
        End Sub
    Et celui là pour Deserialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private Sub Deserialisation()
                If File.Exists("Bibliotheque.bin") Then
                'On ouvre le fichier et recupere son flux
                Dim FluxDeFichier As Stream = File.OpenRead("Bibliotheque.bin")
                Dim Deserialiseur As New XmlSerializer(GetType(List(Of info)))
                'Désérialisation et convertion de ce qu'on récupère dans le type "membre"
                _Liste = Deserialiseur.Deserialize(FluxDeFichier)
                'FerMeture du flux
                FluxDeFichier.Close()
            End If
        End Sub
    Comment je pourrais crypter et décrypter pour un maximum de confidentialité ? Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/09/2009, 17h42
  2. utilisation de XML pour l'enregistrement
    Par aissa_smi dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 08/06/2009, 08h36
  3. lecture flux XML pour transformation côté client
    Par skywaukers dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/04/2007, 14h35
  4. [AJAX] Enregistrer un flux XML
    Par Bissada dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/06/2006, 17h52
  5. [DOM] Flux XML pour application client/serveur
    Par le y@m's dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 11/10/2005, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo