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 ou chiffrer une sauvegarde d'un ListView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2019
    Messages : 1
    Par défaut Crypter ou chiffrer une sauvegarde d'un ListView
    Bonjour ou bonsoir a tous j'ai un petit problème avec mon code ,

    J'ai créer un petit logiciel qui permet de stocker des Identifiants dans une ListView et qui permet ensuite de les enregistrer dans un fichier texte, et de pouvoir les restaurer quand on relance le logiciel , un peu comme une sauvegarde de fichier texte. Je vous montre quelques images afin que vous puissiez comprendre :

    Pièce jointe 482091

    Voila l'interface du logiciel avec la Listview qui contient des Identifiants

    Pièce jointe 482094

    Ensuite je clique sur les bouton sauvegarder et sa m'enregistre le contenu du ListView en .lnx (J'ai juste modifier le .txt ai je l'ai changer en .lnx)

    Pièce jointe 482096

    Et voici le contenu de SauvegardeMDP.lnx que j'avais sauvegardé au paravant


    Et donc je voudrais crypter ou "chiffrer" le texte de Sauvegardemdp.lnx ou de toutes les autres sauvegardes que l'utilisateur pourra faire.

    Pour le cryptage je voudrais le faire en UTF8 ou tout autre cryptage qu'on doit déchiffrer a l'aide d'un mot de passe. Je veux juste que si une personne veuille ouvrir l'archive elle ne peuvent pas voir son contenus a pars de taper le mot de passe dans le logiciel

    Voici la partie de mon code pour sauvegarder la ListView :

    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
    25
    26
    27
    28
    29
    30
    31
    Sub SauvegarderLesDonnées(ByVal Liste As ListView, ByVal Fichier As String)
     
            Dim ItemSplit As String = "(*E*)"              'Pour séparer entre les éléments -> élément1(*E*)élémen2(*E*)élément3
            Dim ColonneSplit As String = "(*C*)"            'Pour séparer entre les valeurs -> Site(*C*)Pseudo(*C*)
            Dim Build As New Text.StringBuilder()
            Dim nElement As Integer = Liste.Items.Count
     
     
            For Each element As ListViewItem In Liste.Items           'Pour chaque élément dans la ListView
     
                For i As Integer = 0 To Liste.Columns.Count - 1       'Pour chaque colonne dans un élément
                    Build.Append(element.SubItems(i).Text)            'Ajouter la valeur du colonne dans le Build
                    If (i < Liste.Columns.Count - 1) Then             'Si ce n'est pas la dernière colonne.
                        Build.Append(ColonneSplit)                    'Ajouter le séparateur (*C*)
                    End If
                Next
     
                Build.Append(ItemSplit)                   'Séparer entre chaque élément -> David(*C*)25(*C*)Rouge(*E*)
            Next
     
     
     
            Try
                IO.File.WriteAllText(Fichier, Build.ToString())                  'écrire le build dans le fichier
                MessageBox.Show("Votre liste de Mots de passe a etait sauvegardée avec succes !")
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Erreur avec l'enregistrement de votre  veuillez réessayer")
            End Try
     
     
        End Sub
    Et le code quand je clique sur le bouton Sauvegarder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            'Choisir l'emplacement d'enregistrement des données.
            Using sauve As New SaveFileDialog()
                sauve.Filter = "Fichier Lenixx|*.lnx"
                If sauve.ShowDialog() = DialogResult.OK Then
                    SauvegarderLesDonnées(ListView1, sauve.FileName)
                End If
     
            End Using
     
        End Sub
    Voila j'espere que vous pourrez m'aider meme si ce que je demande est compliquer.

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Outre le formatage qui me semble un peu étrange, quelques précisions :
    - Cypter = chiffrer. Au détail près que "crypter" n'existe pas. C'est un anglicisme.
    - UTF8 n'est pas une méthode de chiffrement, mais un encodage. C'est à dire qu'il s'agit d'un format de stockage des caractères. Les données sont parfaitement lisibles et accessibles sans mot de passe.
    - Lorsqu'on chiffre, on peut utiliser un algorithme symétrique : on peut alors le rejouer à l'envers en spécifiquant une clé, et on obtient les données initiales. On peut aussi utiliser un algorithme asymétrique. A ce moment, une fois les données chiffrées, on ne peut plus les relire. On obtient simplement une clé, qu'on peut comparer à d'autres données chiffrées de la même manière, afin de vérifier que les données sont identiques. C'est ce qu'on utilise pour stocker les mots de passe par exemple, ou faire des clés de hashage (par exemple pour vérifier que ce qu'on a bien téléchargé est bien ce qu'on désirait télécharger).

    Dans votre cas, vous avez besoin d'un algorithme de chiffrement symétrique : https://fr.wikipedia.org/wiki/Crypto...ym%C3%A9trique

    Attention par contre, si vous souhaitez que des personnes n'ayant pas connaissance du mot de passe puisse ajouter des clés au fichier, ça va être compliqué à gérer.
    Peut-être une clé de chiffrement par ligne ? Mais ça risque de rapidement devenir le bordel.

    Autre solution, stocker le mot de passe chiffré avec une clé asymétrique en début de fichier.
    Puis les données à la suite, avec un chiffrement dont la clé est connue par le programme (et uniquement le programme).

    Ainsi, le programme saura relire les mots de passes, et vérifier si l'utilisateur connait le mot de passe du fichier.
    Mais cela veut aussi dire que le mot de passe de déchiffrement des mots de passe est stocké quelque part dans le programme, donc accessible, et que les fichiers générés peuvent être relus sans difficulté avec cette clé, même sans connaître le mot de passe de protection du fichier. Bref, pas terrible niveau sécurité.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    On peut aussi utiliser un algorithme asymétrique. A ce moment, une fois les données chiffrées, on ne peut plus les relire
    non
    un chiffrage symétrique utilise bien la même clé pour chiffrer et déchiffrer
    un chiffrage asymétrique utilise une clé différente pour chiffrer et déchiffrer
    un hashage est une transformation à sens unique avec perte d'information (d'où le sens unique)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Argh, hmpf, gourré

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

Discussions similaires

  1. Faire une sauvegarde complete du disque
    Par baert dans le forum Administration système
    Réponses: 3
    Dernier message: 19/04/2007, 19h29
  2. Effectuer une sauvegarde
    Par Ultra-FX dans le forum Administration système
    Réponses: 8
    Dernier message: 19/06/2004, 14h04
  3. batch pour faire une sauvegarde
    Par bibiodp dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/08/2003, 13h09
  4. [VB6]Changer la couleur d'une ligne d'un ListView
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2003, 17h02
  5. Une gauge dans un ListView
    Par Thom@s dans le forum Composants VCL
    Réponses: 3
    Dernier message: 22/10/2002, 10h32

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