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

VBA Access Discussion :

cryptographie hash SHA512


Sujet :

VBA Access

  1. #1
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 469
    Par défaut cryptographie hash SHA512
    Bonjour,

    Qui a déjà fait en VBA du hashage de clefs avec l'algorithme SHA-512 ?
    Avant de me lancer dans de la cryptographie, j'aurais aimé partager votre précieuse experience.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 565
    Billets dans le blog
    67
    Par défaut Peux-tu préciser ?
    Bonjour,

    Peux-tu préciser ce que tu souhaites faire ?

    Ton objectif est-il de créer ta propre fonction de cryptage à partir de l'algorithme SHA-2, pour ensuite l'appliquer à un champ donné d'une table qui contient des informations confidentielles ?

    Si c'est le cas alors il y a des exemples sur le net comme celui-ci :

    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
    Option Compare Database
     
    Function ToBase64String(rabyt)
     
      With CreateObject("MSXML2.DOMDocument")
        .LoadXML "<root />"
        .DocumentElement.DataType = "bin.base64"
        .DocumentElement.nodeTypedValue = rabyt
        ToBase64String = Replace(.DocumentElement.text, vbLf, "")
      End With
     
    End Function
     
    Function ComputeHash(fld)
    Dim text As Object
    Dim SHA512 As Object
     
    Set text = CreateObject("System.Text.UTF8Encoding")
    Set SHA512 = CreateObject("System.Security.Cryptography.SHA512Managed")
     
    ComputeHash = ToBase64String(SHA512.ComputeHash_2((text.GetBytes_4(fld))))
     
    End Function
    à copier dans un module.

    Ensuite pour le tester :

    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 469
    Par défaut
    Merci, User.
    Je souhaite encrypter un chaine de caractères pour utiliser un web service.
    En continuant à chercher hier soir, j'ai aussi trouvé ces quelques lignes de code qui malheureusement me donnent le message "error parsing "neige" as bin.base64 datatype"

    Avec le code que tu cites, j'ai aussi trouvé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim text As Object
    Dim SHA512 As Object
     
    Set text = CreateObject("System.Text.UTF8Encoding")
    Set SHA512 = CreateObject("System.Security.Cryptography.SHA512Managed")
     
    Debug.Print ToBase64String(SHA512.ComputeHash_2((text.GetBytes_4("neige"))))
     
    End Sub
    qui fonctionne bien mais qui me donne une chaine de 88 caractères au lieu des 128 caractères que j'attends.


    Avec le code que j'ai trouvé, "neige" devient
    ALQpeLwgDJ+fxGVQyDU5xBXyUSVOtsRulpmmrqdx+XO9xspGrIzW/et5UDHLhAb4+jIUdD6ipB7cpcQ/Co0k+Q==
    alors "neige" devrait me donner
    00B42978BC200C9F9FC46550C83539C415F251254EB6C46E9699A6AEA771F973BDC6CA46AC8CD6FDEB795031CB8406F8FA3214743EA2A41EDCA5C43F0A8D24F9


    Y a-t-il une configuration supplémentaire à cette fonction ?

    Merci.

  4. #4
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    PipoWIL,

    oui il faut ré-encoder le résultat en hexa

    ici la solution

    http://answers.microsoft.com/en-us/o...3-fb03dd5cf8c2

    jimbolion

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 565
    Billets dans le blog
    67
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    PipoWIL,

    oui il faut ré-encoder le résultat en hexa

    ici la solution

    http://answers.microsoft.com/en-us/o...3-fb03dd5cf8c2

    jimbolion
    Bien vu

    Cela dit même si des données confidentielles ne doivent en aucun cas être révélées avec cet algo on est plutôt rassuré
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre chevronné
    Inscrit en
    Février 2011
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 469
    Par défaut
    Super !
    Merci Jimbolion. Cela m'a aussi permis d'approfondir la nuance entre option compare database et option compare binary.

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

Discussions similaires

  1. [C#] Xml et la cryptographie
    Par freddyboy dans le forum C#
    Réponses: 14
    Dernier message: 01/06/2004, 13h55
  2. [langage] hash
    Par giverny dans le forum Langage
    Réponses: 3
    Dernier message: 12/08/2003, 11h27
  3. [langage] probleme avec un hash de hash
    Par planetevoyage dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2003, 12h55
  4. [langage] Créé un hash dans un fichier...
    Par Smooky dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2003, 08h49
  5. Tables de hash
    Par miss8 dans le forum C
    Réponses: 2
    Dernier message: 16/11/2002, 17h44

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