محمد
تماس با من
پروفایل من
آرشیو وبلاگ
      Mohammad (وب لاگ شخصی محمد دیان، مهندس و برنامه نویس نرم افزار)
SHA در C# نویسنده: محمد - چهارشنبه ٢٦ اسفند ۱۳۸۸

همان طور که میدونید مدتی هست که دیگه به برنامه نویسان توصیه میشه برای Hashing از MD5 استفاده نکنند. MD5 یه الگوریتم خوب برای به هم ریختن یه رشته بود که مدت ها بود که استفاده میشد و خوب ، هنوز هم استفاده میشه ، اما دیگه تاریخ مصرفش تموم شده و روش های جدیدی چون SHA جاشو گرفتن.

خوشبختانه ما تو .Net می تونیم از این الگوریتم استفاده کنیم.

using System.Security.Cryptography;
using System.Text;

private static string GetSHA1(string strPlain)
{
    UnicodeEncoding UE = new UnicodeEncoding();
    byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
    SHA1Managed SHhash = new SHA1Managed();
    string strHex = "";

    HashValue = SHhash.ComputeHash(MessageBytes);
    foreach (byte b in HashValue)
    {
        strHex += String.Format("{0:x2}", b);
    }
    return strHex;
}

private static string GetSHA256(string strPlain)
{
    UnicodeEncoding UE = new UnicodeEncoding();
    byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
    SHA256Managed SHhash = new SHA256Managed();
    string strHex = "";

    HashValue = SHhash.ComputeHash(MessageBytes);
    foreach (byte b in HashValue)
    {
        strHex += String.Format("{0:x2}", b);
    }
    return strHex;
} 
  نظرات ()
MD5 در C# نویسنده: محمد - چهارشنبه ۱٩ اسفند ۱۳۸۸

اگر قبلا با زبان هایی مثل PHP کار کرده باشید حتما با الگوریتم به هم ریختن MD5 آشنایی دارید.

کد زیر تابعی است که این کار را در C# انجام می دهد.

public string MD5(string password)
{
    byte[] textBytes = System.Text.Encoding.Default.GetBytes(password);
    try
    {
        MD5CryptoServiceProvider cryptHandler;
        cryptHandler = new MD5CryptoServiceProvider();
        byte[] hash = cryptHandler.ComputeHash(textBytes);
        string ret = "";
        foreach (byte a in hash)
        {
            if (a < 16)
                ret += "0" + a.ToString("x");
            else
                ret += a.ToString("x");
        }
        return ret;
    }
    catch { throw; }
} 
  نظرات ()
مطالب اخیر دانلود فیلم از یوتیوب با کیفیت 4K و رایگان پلاگین Date Picker با jquery و bootstrap نصب دات نت فریم ورک 3.5 در ویندوز 8 به صورت آفلاین دانلود آپدیت 3 ویژوال استادیو 2013 دانلود آپدیت 2 Visual Studio 2013 Update به صورت آفلاین دانلود آپدیت چهارم ویژوال استادیو Download Visual Studio 2012 Update 4 دانلود ویژوال استادیو Visual Studio 2013 Ultimate با لینک مستقیم دانلود Microsoft Expression Studio Ultimate 4.0 دانلود 6.0 Redgate SQL Prompt، اینتلی سنس intellisense جامع و کامل برای SQL دانلود کامپوننت Telerik WPF 2013 for .Net Q2 به همراه سورس کدها
کلمات کلیدی وبلاگ #c (٥۱) دانلود (٢۱) نمونه کار (٢٠) بریده کد (۱٧) ترفند (۱۳) دانشگاه (۱۳) windows (۱۱) pdf (۱٠) پروژه (٩) visual studio (٩) ebook (٩) flash (٧) sql (٧) php (٧) wpf (٧) javascript (٧) linq (٦) game (٥) software (٥) تقویم (٥) نمونه سوال (٥) net (٤) css (٤) browser (٤) firefox (٤) مقاله (٤) aspnet (٤) هوش مصنوعی (۳) mvc (۳) رمز نگاری (٢) سورک (٢) xaml (٢) آماده همکاری (٢) internet explorer (٢) assembly (٢) hack (٢) calendar (٢) specification (٢) captcha (٢) google (٢) مقایسه (۱) pascal (۱) رپیدشیر (۱) vb (۱) font (۱) proteus (۱) کرک (۱) reflection (۱) mobile (۱) plugin (۱) silverlight (۱) office (۱) smarty (۱) یوتیوب (۱) video tutorial (۱) smiles (۱) jquery (۱) bootstrap (۱)
دوستان من مهدی بخشی
پایگاه اطلاع رسانی یادواره شهدای سورک
مهدی اسکویی(آموزش رایانه)
کیست مرا یاری کند مهدی کاویانی آیات آسمانی شاعران جوان برنامه نویسی در دات نت دغدغه های محرم پرتال زیگور طراح قالب