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

Windows Forms Discussion :

sha 512 et md5 [Débutant]


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut sha 512 et md5
    Bonjour à tous^^

    Alors voilà, pour mon appli, je souhaite hashé mon mot de passe en md5 puis le re-hashé en sha 512 (alors oui ça ne sers pas et tout et tout mais je tiens à le faire).
    J'y arrive, mon code tourne et hash SAUF que voilà:

    A l'aide d'un code php, je vérifie mon hashage et pour un même mot ce n'est pas le même ce qui n'est pas cohérent.
    (le php est fiable).

    On dirait que mon code hash directement le mot sans passer par le md5 ce qui est impossible puisque la valeur d'entrée du sha512 est mon md5, donc je ne comprend pas.
    Voilà le code :

    Lui il hash en sha 512:
    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
    private static string GetSHA512(string hash)
            {
     
                UnicodeEncoding ue = new UnicodeEncoding();
                byte[] hashValue;
                byte[] message = ue.GetBytes(hash);
     
                SHA512Managed hashString = new SHA512Managed();
                string hex = "";
     
                hashValue = hashString.ComputeHash(message);
     
                foreach (byte x in hashValue)
                {
                    hex += String.Format("{0:x2}", x);
                }
     
                return hex;
            }
    lui il hash en md5 et à l'aide d'une classe rentre les données dans la BDD.
    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
    32
    33
    34
    35
    36
    37
    try
                {
     
     
                    using (MD5 md5Hash = MD5.Create())
                        {
                            string hash = GetMd5Hash(md5Hash, iTalk_TextBox_Small2.Text);
     
     
     
                        ajout_m_ ajout = new ajout_m_();
                            ajout.Nom = iTalk_TextBox_Small1.Text;
                            ajout.Pass = GetSHA512(hashed);
                            ajout.secret = iTalk_TextBox_Small4.Text;
                            ajout.Rang = 0;
                            ajout.Premium = 0;
                            ajout.Bannis = 0;
                            ajout.HWID = HWID();
                            ajout.date = DateTime.Now.ToString();
                            Bdd bdd = new Bdd();
                            bdd.AddContact(ajout);
                            Properties.Settings.Default.user = iTalk_TextBox_Small1.Text;
                            Properties.Settings.Default.pass = iTalk_TextBox_Small2.Text;
                            Properties.Settings.Default.hash = GetSHA512(hashed);
                        Properties.Settings.Default.Save();
                            MessageBox.Show("Bienvenue sur UpChat  " + iTalk_TextBox_Small1.Text + ".!", "Inscription réussie", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            connexion.Show();
                            Hide();
                        }
     
     
                }
                catch (Exception ee)
                {
                    MessageBox.Show("Impossible d'effectuer correctement la requête." + "\n" + ee.Message, "Erreur de procédure", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
    Pour exemple, le mot framboise devrait revenir ainsi : 040fa21ebcdc1c0d99b0bae32adc941b1d6a821d20ebbbb63ce630766cadaaf733810273b3c7d9e85e4bf4f6be481bc9971c73f5ffe2db5f1440a7911714478f
    Il me revient ainsi : 3dfc0adb46753feb21d373530f6069fda5c0f7e5e2c74361801c18731a285bc16b3199eb3c9db344bcb6bf23e4bea06d292227337bc8eb0f649ee4133c56f3d0

    Où se trouverais le souci svp.? je coince sévère là :-/
    Merci d'avance de votre aide^^

    Cordialement
    Vazer7070

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    quelle est la trogne du MD5 côté C# ? M'est avis que le souci vient de là.

    NB : le SHA512 de "framboise" direct' n'est pas celui que renvoie ton code erroné, il hashe donc autre chose que "framboise" ou "54a9fc48a5b664772e2ca06d1e0772d9" (le MD5 de framboise).

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut
    La trogne.?
    (si tu parle du code, ben c'est les 2 lignes que tu vois pour l'envoi des données, c'est un using)

    Ben justement quoi. parce que comme tu vois je redirige tout sur le hash du md5 et comme on ne peut pas faire l'inverse je peux pas m'aider ainsi :-/
    Ah moins que mon code de hash en SHA512 est faux.

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    La trogne c'est la tête, la gueule, l'apparence En fait j'aimerai savoir quelle est la valeur de la variable contenant le MD5 avant que tu la passes à ta fonction de hash en SHA512 (tu m'accorderas que "la trogne du MD5" c'est plus rapide à écrire ) En le comparant avec le MD5 attendu on se rendra compte, à mon avis, que c'est lui qui est mauvais (et non ta fonction SHA512).

    Tu peux également écrire le MD5 de test en dur dans ton code, temporairement, et le donner à manger à ta fonction SHA512 pour valider le résultat (si tu l'as pas sous la main je l'ai mis dans mon précédent message).

    Une fois qu'on sera sûr que c'est le MD5 qui est puné il faudra voir pourquoi (perso j'ai pas bien compris d'où tu le tires, si c'est depuis la DB il est possible que la fonction de hash ne soit pas le MD5, ou encore qu'un salt soit utilisé ).

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut
    ah oki et je le tiens de MSDN, c'est la classe "officiel" du md5 C#.

    J'obtiens toujours "3dfc0adb46753feb21d373530f6069fda5c0f7e5e2c74361801c18731a285bc16b3199eb3c9db344bcb6bf23e4bea06d292227337bc8eb0f649ee4133c56f3d0", donc c'est le sha512 qui part en vrille :-/

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut
    J'ai changé le code du sha512 et j'ai réussi, il écrit le hash en majuscule mais ce n'est pas tant grave^^
    Je te remercie grandement pour ton aide^^

    voilà le code correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static string SHA512(string input)
            {
                var bytes = Encoding.UTF8.GetBytes(input);
                using (var hash = System.Security.Cryptography.SHA512.Create())
                {
                    var hashedInputBytes = hash.ComputeHash(bytes);
     
     
                    var hashedInputStringBuilder = new StringBuilder(128);
                    foreach (var b in hashedInputBytes)
                        hashedInputStringBuilder.Append(b.ToString("X2"));
                    return hashedInputStringBuilder.ToString();
                }
            }

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

Discussions similaires

  1. Calculer le MD5/SHA-256 d'un fichier
    Par PierrotY dans le forum Sécurité
    Réponses: 26
    Dernier message: 06/04/2009, 09h35
  2. function SHA-512 php
    Par anerax dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2008, 19h57
  3. hash sha 256/512 en C
    Par Z-fly dans le forum C
    Réponses: 1
    Dernier message: 20/07/2008, 15h56
  4. SHA 512 via java
    Par Grimly_old dans le forum Sécurité
    Réponses: 1
    Dernier message: 28/03/2008, 13h27
  5. [Oracle / Fonction hachage] Fonction de hachage SHA / MD5
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 8
    Dernier message: 26/01/2006, 08h58

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