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; }

/ 0 نظر / 32 بازدید