Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [vb.net] come decriptare stringa con SHA512/MD5?

    Salve a tutti.
    Ho trovato un modo per cryptareuna stringa con l'algoritmo sha512:

    codice:
        Public Function CriptaStringa(ByVal Str As String)
            'Aloritmo SHA512
            Dim Vet() As Byte
    
            Dim hash As String = ""
            Dim bb As Byte() = System.Text.Encoding.Default.GetBytes(Str)
            Dim sha As New System.Security.Cryptography.SHA512Managed()
            Dim enc As Byte() = sha.TransformFinalBlock(bb, 0, bb.Length)
            Dim b As Byte
            For Each b In sha.Hash
                hash += Convert.ToString(b, 16).ToUpper().PadLeft(2, "0")
                sha.Clear()
            Next
            Return hash
        End Function
    ora però dovrei decriptare questa stringa...come si procede?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Non è possibile decriptare un hash ottenuto con un algoritmo MD5 o SHA512: la loro irreversibilità è una delle caratteristiche peculiari.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ma proprio per la loro irreversibilità, non è possibile che ci siano doppioni, nel senso 2 stringhe che hanno lo stesso hash? Com'è possibile che tutte le stringhe possibili (circa 256^2miliardi) si riconducono a 16^32 ?????

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da gygabyte017
    Ma proprio per la loro irreversibilità, non è possibile che ci siano doppioni, nel senso 2 stringhe che hanno lo stesso hash? Com'è possibile che tutte le stringhe possibili (circa 256^2miliardi) si riconducono a 16^32 ?????
    Innanzitutto, non penso che si possa stabilire un limite alla lunghezza di una stringa in quanto tale, poichè l'hash potrebbe essere calcolato anche su un pacchetto di dati binari superiori a 2GB (ad esempio, il file ISO di un DVD)...

    A parte questo, nessuno garantisce che non vi possano essere pacchetti di dati con lo stesso hash: in sostanza, possono tranquillamente esserci doppioni.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    quale algoritmo dovrei utilizzare quindi?

  6. #6
    nessuno sa quindi quale algo bisogni utilizzare?

  7. #7

    Decriptare da MD5/SHA1

    Ciao a tutti,
    1. e' possibile decifrare le password cifrate con un algoritmo di tipo "one-way" tipo MD5/SHA1, pero' l'approccio da usare e' quello chiamato "brute force" che pero' e' praticamente impraticabile "in condizioni normali".
    2. Quelli che avete chiamato doppioni sono in realta' collisioni. In ogni algoritmo one-way e' insito il fenomeno delle collisioni, solo che la probabilita' che una collisione avvenga e' alquanto remota.
    3. Quello che secondo me dovresti fare e' gestire le "improbabili" collisioni se hai interesse a non avere problemi con le chiavi primarie nel DB;
    4. Se hai interesse, invece, a cifrare e decifrare le password , allora usa algoritmi del tipo AES o 3DES.

    Saluti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.