using System.Security.Cryptography;
private string EncryptMD5 (string StrToEncrypt)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] buf = new byte[StrToEncrypt.Length];
for (int i=0; i<StrToEncrypt.Length; ++i)
buf = (byte)StrToEncrypt;
return Convert.ToBase64String(md5.ComputeHash (buf));
}
Хэширование в .net
Заранее спасибо.
Цитата:
Originally posted by Dimarik
Вот нужно захэшировать строку. Подскажите какой класс этим занимается. Какие значения возвращают. Ну, например, если хэшировать по алгоритму MD5, то какой длины будет захэшированная строка.
Заранее спасибо.
Вот нужно захэшировать строку. Подскажите какой класс этим занимается. Какие значения возвращают. Ну, например, если хэшировать по алгоритму MD5, то какой длины будет захэшированная строка.
Заранее спасибо.
Например:
Код:
public static int GetHashCode(string str, int hashsize)
{
int checksum = 0;
foreach (char c in str) checksum = (checksum << 10) - (checksum << 5) - checksum + (ushort)c;
return checksum % hashsize;
}
Параметр hashsize выбирается таким образом, чтобы это было простое число большого размера. Эта хэш-функция не даёт коллизий на диапазоне [0; hashsize-1], сам анализ прводил