static void Main(string[] args) { Console.WriteLine("MD5 und SHA Beispiel - Salt & Pepper"); Console.WriteLine("===================================="); //sollte aus einer anderen Quelle gelesen werden. Der Einfachheit halber wird ein String verwendet var pepper = "@ktdRdotewStee31223!!!33sdrt532sv224vvl420094"; //Eingabe lesen und in ein Byte-Array verwandeln var salt = Salt("Benutzer"); var bytes = new ASCIIEncoding().GetBytes(string.Format("{0}{1}{2}",Input(), salt, pepper)); //MD5 var md5 = new MD5Cng(); string md5Hash = BitConverter.ToString(md5.ComputeHash(bytes)).Replace("-", "").ToLower(); Console.WriteLine("MD5-Hash:\t{0}", md5Hash); //SHA1 var sha1Cng = new SHA1Cng(); string sha1Hash = BitConverter.ToString(sha1Cng.ComputeHash(bytes)).Replace("-","").ToLower(); Console.WriteLine("SHA1-Hash:\t{0}", sha1Hash); //SHA256 var sha256 = new SHA256Cng(); string sha256Hash = BitConverter.ToString(sha256.ComputeHash(bytes)).Replace("-", "").ToLower(); Console.WriteLine("SHA256-Hash:\t{0}", sha256Hash); Console.WriteLine("Beliebige Taste drücken zum beenden"); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("MD5 und SHA Beispiel"); Console.WriteLine("===================="); //Eingabe lesen und in ein Byte-Array verwandeln var bytes = new ASCIIEncoding().GetBytes(Input()); //MD5 var md5 = new MD5Cng(); string md5Hash = BitConverter.ToString(md5.ComputeHash(bytes)).Replace("-", "").ToLower(); Console.WriteLine("MD5-Hash:\t{0}", md5Hash); //SHA1 var sha1Cng = new SHA1Cng(); string sha1Hash = BitConverter.ToString(sha1Cng.ComputeHash(bytes)).Replace("-","").ToLower(); Console.WriteLine("SHA1-Hash:\t{0}", sha1Hash); //SHA256 var sha256 = new SHA256Cng(); string sha256Hash = BitConverter.ToString(sha256.ComputeHash(bytes)).Replace("-", "").ToLower(); Console.WriteLine("SHA256-Hash:\t{0}", sha256Hash); Console.WriteLine("Beliebige Taste drücken zum beenden"); Console.ReadKey(); }
private string ComputeHash(FileInfo filePath) { byte[] hash; using (FileStream fs = filePath.Open(FileMode.Open)) { MD5 md5 = new MD5Cng(); hash = md5.ComputeHash(fs); } return BitConverter.ToString(hash); }
public static string ComputeHash(string data) { if (string.IsNullOrEmpty(data)) throw new ArgumentNullException("data"); MD5 md5 = new MD5Cng(); byte[] rawdata = Encoding.UTF8.GetBytes(data); byte[] hash = md5.ComputeHash(rawdata); return HttpUtility.UrlEncode(hash); }
protected virtual string Encrypt(string input) { MD5 md5 = new MD5Cng(); byte[] buffer = md5.ComputeHash(Encoding.UTF8.GetBytes(input)); StringBuilder sb = new StringBuilder(); foreach (var b in buffer) { sb.Append(b.ToString("x2")); } return sb.ToString(); }
static void Main(string[] args) { rnd = new Random(12445324); chunks = RandomSequence(rnd, 6).Take(1000).ToList(); var flag = "mars0_" + chunks[42] + chunks[13] + chunks[210]; var md5 = new MD5Cng(); md5Hash = md5.ComputeHash(Encoding.ASCII.GetBytes(flag)).Select(b => b.ToString("x2")).Aggregate("", (s, c) => s + c); Console.WriteLine(flag); MakeImage(s => s).Save(@"..\..\english.png", ImageFormat.Png); MakeImage(TranslateExtensions.ToMars).Save(@"..\..\mars.png", ImageFormat.Png); }
public static String MD5HashString(this byte[] data) { if (data == null) { throw new ArgumentNullException("data"); } using (var md5 = new MD5Cng()) { var hash = md5.ComputeHash(data); return BitConverter.ToString(hash).Replace("-", ""); } }
/// <summary> /// compute the hash value of a file associated with the specified filePath /// </summary> /// <returns>null, if the file does not exist</returns> public static string GetFileHash(string filePath) { Contract.Requires(!PathHelper.IsInvalidPath(filePath)); if (!File.Exists(filePath)) return null; byte[] hash; using (var cng = new MD5Cng())//for performance { using (var stream = new FileStream(filePath, FileMode.Open)) { hash = cng.ComputeHash(stream); } } return Convert.ToBase64String(hash); }
public static HashData ComputeHashes(string fileName) { try { using (FileStream stream = File.OpenRead(fileName)) { using (var bufferedStream = new BufferedStream(stream, 1024 * 32)) { string md5, sha1, sha256; byte[] checksum; using (var md5Cng = new MD5Cng()) { checksum = md5Cng.ComputeHash(bufferedStream); md5 = BitConverter.ToString(checksum).Replace("-", string.Empty); } stream.Seek(0, SeekOrigin.Begin); bufferedStream.Seek(0, SeekOrigin.Begin); using (var sha1Cng = new SHA1Cng()) { checksum = sha1Cng.ComputeHash(bufferedStream); sha1 = BitConverter.ToString(checksum).Replace("-", string.Empty); } stream.Seek(0, SeekOrigin.Begin); bufferedStream.Seek(0, SeekOrigin.Begin); using (var sha256Cng = new SHA256Cng()) { checksum = sha256Cng.ComputeHash(bufferedStream); sha256 = BitConverter.ToString(checksum).Replace("-", string.Empty); } return new HashData(md5, sha1, sha256); } } } catch (IOException) { } catch (UnauthorizedAccessException) { } return null; }
public static string ComputeMD5Hash(string fileName) { string md5 = null; try { using (FileStream stream = File.OpenRead(fileName)) { using (var bufferedStream = new BufferedStream(stream, 1024 * 32)) { using (var sha = new MD5Cng()) { byte[] checksum = sha.ComputeHash(bufferedStream); md5 = BitConverter.ToString(checksum).Replace("-", string.Empty); } } } } catch (IOException) { } catch (UnauthorizedAccessException) { } return md5; }
public static bool IsMd5Valid(string messageBody, string expectedMd5) { if (messageBody == null) { throw new ArgumentNullException("messageBody"); } // Define the hash algorithm to use byte[] hashBytes; using (var hash = new MD5Cng()) { hashBytes = hash.ComputeHash(Encoding.UTF8.GetBytes(messageBody)); hash.Clear(); } var messageBodyMd5 = hashBytes.ToHex(); if (messageBodyMd5 == expectedMd5) { return true; } return false; }
/// <summary> /// MD5Cng /// 此类型的任何公共static成员都是线程安全的。但不保证所有实例成员都是线程安全的 /// </summary> private static string Encrypt_static(string clearText, Encoding encode) { MD5 md5 = null; try { byte[] originalBytes = encode.GetBytes(clearText); //Encoding.UTF8.GetBytes(clearText); md5 = new MD5Cng(); byte[] data = md5.ComputeHash(originalBytes); StringBuilder builder = new StringBuilder(); foreach (var item in data) { builder.Append(item.ToString("X2")); } return builder.ToString(); } catch (ArgumentNullException) { return clearText; } catch (EncoderFallbackException) { return clearText; } //catch (TargetInvocationException) { return clearText; } catch (ObjectDisposedException) { return clearText; } catch (InvalidOperationException) { return clearText; } catch { return clearText; } finally { if (md5 != null) { md5.Clear(); md5.Dispose(); } md5 = null; } }
public string GetGravatarHash(string email) { Requires.NotNullOrEmpty(email, "email"); MD5 m = new MD5Cng(); return BitConverter.ToString( m.ComputeHash(Encoding.UTF8.GetBytes(email.Trim().ToLower()))) .Replace("-", "") .ToLower(); }
/// <summary> /// Compute the MD5 from a byte array. /// </summary> /// <param name="buff">Binary as a byte buffer.</param> /// <returns>MD5 as 32 characters long hex-string</returns> public static string MD5(byte[] buff) { var sBuilder = new StringBuilder(); var sha = new MD5Cng(); var hash = sha.ComputeHash(buff); foreach (var t in hash) sBuilder.Append(t.ToString("x2")); return sBuilder.ToString(); }
/// <summary> /// Compute the MD5 from a file. /// </summary> /// <param name="file">Path to the file</param> /// <returns>MD5 as 32 characters long hex-string</returns> public static string MD5(string file) { byte[] hash; var sBuilder = new StringBuilder(); using (var sr = new StreamReader(file)) { var sha = new MD5Cng(); hash = sha.ComputeHash(sr.BaseStream); } foreach (var t in hash) sBuilder.Append(t.ToString("x2")); return sBuilder.ToString(); }