Come gli altri numerosi ragazzi qui sopra citati, MD5 non è un algoritmo simmetrico o asimmetrico.
Invece si tratta di un ramo diverso in crittografia tutti insieme. È uno dei più piccoli algoritmi di hash disponibili nel framework .Net. A soli 16 byte per le sue chiavi, che dovrebbero essere a 128 bit. Qualcosa con cui impari il pane e il burro.
Quindi sì è maggiore di 64 bit che ha solo 8 byte di dimensione.
La dimensione massima della chiave utilizzata dal comune simm 'enc' è 256 bit (Rijndael Managed).
Se si desidera esaminare i tasti più grandi di quello, è possibile utilizzare il codice di errore 'enc' di RC2 che supporta le dimensioni delle chiavi variabili. Qualcosa con cui puoi sperimentare?
Se si desidera un valore superiore a 1024 bit, è necessario esaminare Asymm 'Enc' Algs come la classe RSACryptoServiceProvider che supporta le dimensioni della chiave fino a 16 KB in Bit, penso?
Se si desidera utilizzare password, è necessario utilizzare Keying Hashing Algs, come qualsiasi cosa di HMAC ', devono essere Keying Hashing Algorithms o MacTripleDes. Questi utilizzano tutti i codici segreti per crittografare l'hash generato dai dati forniti. Le chiavi vengono create utilizzando password e valori salt attraverso la classe RFC2898DerivesBytes. < - Non dimenticare che RC2, Rijndael, AES, DES ed ecc. Possono essere configurati per utilizzare le password per ottenere le chiavi segrete. Nel caso stiate pensando che la frase di apertura di questo paragrafo sia un po 'fuorviante. Così ho aggiunto questo per essere sicuro nel caso in cui l'hashing non è quello che ti serve del tutto.
* RICORDA CHE CI SONO GERARCHIE DI EREDITÀ UNICHE NELLA .net's Cryptography NameSpace. Quindi MD5 è la classe base astratta di tutte le classi derivate MD5 da cui derivare. .Net fornisce una classe derivata chiamata classe MD5CryptoServiceProvider. Che è essenzialmente una classe wrapper gestita che effettua chiamate a API di Crypto-Libraries non gestite da Windows. MD5 è conosciuto nei libri di testo ufficiali della MS sotto il termine omonimo come algoritmo di hashing non codificato. *
Ci sono molte opzioni disponibili.
:) Buona visione!
Ciao Peter: Ciò significa che la mia app non "contiene crittografia"? – PF1
In senso stretto, no. L'uso di MD5 o di qualsiasi altra funzione di hash in modo che la password effettiva non venga memorizzata viene a volte definita "crittografia unidirezionale", sebbene l'uso del termine crittografia sia un termine improprio: (Link obbligatorio di Wikipedia: http: //en.wikipedia .org/wiki/One-way_encryption) – Peter
So che è tardi, ma basta aggiungere ... Invece di usare SHA-1 o SHA-2, potresti anche provare a salare un hash o anche usare sia MD5 che SHA -1. –