مقایسه نتایج الگوریتمهای هش کردن اطلاعات در اس کیوال سرور و دات نت
نویسنده: وحید نصیری
تاریخ: ۱۳۸۸/۰۲/۱۴ ۲۱:۵۴:۰۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
DECLARE @str1 VARCHAR(4),
@str2 NVARCHAR(4)
--متن یونیکد اینجا ناقص ذخیره میشود
SET @str1 = 'وحید'
SET @str2 = N'وحید'
SELECT hashbytes('md5', @str1) --C82A7D721AAE517AD76EF1B871BC33CE
SELECT hashbytes('md5', @str2) --7D883091B80F3CD20B872CADBFDDACDF
| Encoding | تعداد بیت هر کاراکتر |
| ASCII | هر کاراکتر آن 7 بیت است |
| UTF7 | هر کاراکتر آن 7 بیت است |
| UTF8 | هر کاراکتر آن 8 بیت و یا یک بایت است |
| Unicode (UTF-16) | هر کاراکتر آن 16 بیت و یا دو بایت است |
| UTF32 | هر کاراکتر آن 32 بیت و یا 4 بایت است |
using System.Text;
using System.Security.Cryptography;
class CHash
{
public static string GetMD5Hash(string input, Encoding encoding)
{
byte[] bytes = new MD5CryptoServiceProvider().ComputeHash(encoding.GetBytes(input));
StringBuilder chars = new StringBuilder();
foreach (byte chr in bytes)
{
chars.Append(chr.ToString("x2"));
}
return chars.ToString();
}
}
string result = CHash.GetMD5Hash("وحید", Encoding.Unicode);