Spesso si ha la necessità di geneare password per diversi scopi e necessità.
.NET non fornisce direttamente classi atti alla generazione di password.
Possiamo però utilizzare System.Security.Cryptography per generare stringhe codificate aventi origine da valori che spesso possono essere quelli delle username. Il metodo non è sicuramente uno dei più sicuri, ma sicuramente è un ottimo inizio da cui partire.
///
/// Crea un hash md5 della stringa contenuta nella textbox1
///
public string CodificaMD5(string TestoDaCodificare)
{
// Crea array di byte per i valori passati dall'utente
byte[] arrHashInput;
// Crea un array di byte per i valori in uscita
byte[] arrHashOutput;
// Carica il MD5
MD5CryptoServiceProvider objMD5 = new MD5CryptoServiceProvider();
// Crea un array di byte a partire dalla stringa dell'utente
arrHashInput = Convert2ByteArray(TestoDaCodificare);
// Valorizza array di byte in uscita con i valori calcolati sulla base della stringa dell'utente
arrHashOutput = objMD5.ComputeHash(arrHashInput);
return BitConverter.ToString(arrHashOutput);
}
///
/// Converte in un array di byte i valori passati dalla stringa in input
///
/// System.String valore input
/// System.Char[] CharArray di ritorno
private byte[] Convert2ByteArray(string Input)
{
int intcounter = 0;
char[] arrChar;
arrChar = Input.ToCharArray();
int lunghezzaARR = arrChar.Length - 1;
byte[] arrByte = new byte[lunghezzaARR];
int lunghezza = arrByte.Length - 1;
for (intcounter = 0; intcounter <= lunghezza; intcounter++)
{
arrByte[intcounter] = Convert.ToByte(arrChar[intcounter]);
}
return arrByte;
}
Per avere una semplice password è necessario passare username al metodo CodificaMD5.