Eu uso o seguinte código C # para calcular um hash MD5 de uma seqüência de caracteres. Funciona bem e gera uma cadeia hexadecimal de 32 caracteres como esta:
900150983cd24fb0d6963f7d28e17f72
string sSourceData;
byte[] tmpSource;
byte[] tmpHash;
sSourceData = "MySourceData";
//Create a byte array from source data.
tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData);
tmpHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource);
// and then convert tmpHash to string...
Existe uma maneira de usar código como este para gerar uma cadeia hexadecimal de 16 caracteres (ou cadeia de 12 caracteres)? Uma string hexadecimal de 32 caracteres é boa, mas acho que será chato para o cliente digitar o código!