MD5 Falsche Ausgabe

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von AtomTiger.

    MD5 Falsche Ausgabe

    Tag Community,

    Ich habe einen Timer der alle 20 Sekunden einen Code neu generiert mithilfe von einem MD5 Hash.

    Jetzt das Problem, nach dem 2 oder 3 mal generiert er einen absoluten schwachsinn bzw. einen falschen Hash.

    Aufbau:
    1. Es wird ein Code generiert (wird gespeichert)
    2. Aus diesem Code wird ein neuer Code generiert (StringToMD5("blaka" + currentKey)
    3. Die ersten zweimale funktionieren und dann generiert er etwas falsches. Wenn ich es dann manuell einzeln mache, funktioniert der Schritt der zuvor falsch war.

    C#-Quellcode

    1. private string GetMD5Hash(string input)
    2. {
    3. MD5 md5 = System.Security.Cryptography.MD5.Create();
    4. byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
    5. byte[] hashBytes = md5.ComputeHash(inputBytes);
    6. StringBuilder sb = new StringBuilder();
    7. for (int i = 0; i < hashBytes.Length; i++)
    8. {
    9. sb.Append(hashBytes[i].ToString("X2"));
    10. }
    11. return sb.ToString();
    12. }


    Timer:

    C#-Quellcode

    1. private void All20Secs_Tick(object sender, EventArgs e)
    2. {
    3. string newss = GetMD5Hash("blaka" + info.GetCurrentSsKey());
    4. info.SetCurrentSsKey(newss);
    5. richTextBox1.Text = richTextBox1.Text + "\n" + info.GetCurrentSsKey());
    6. }
    Hier den Code nutze ich dafür immer:

    C#-Quellcode

    1. public static String GetMD5Hash(String value)
    2. {
    3. MD5 md5 = new MD5CryptoServiceProvider();
    4. byte[] hash = md5.ComputeHash(Encoding.Default.GetBytes(value));
    5. return System.BitConverter.ToString(hash).Replace("-","").ToLower();
    6. }


    Wie du siehst, erstelle ich einen " new " was du bei dir nicht machst :)