如何从文本文件创建MD5哈希摘要?
使用C#,我想创建一个文本文件的MD5哈希。 我怎么能做到这一点? 请包含代码。 非常感谢!
更新:感谢大家的帮助。 我终于确定了以下代码 –
// Create an MD5 hash digest of a file public string MD5HashFile(string fn) { byte[] hash = MD5.Create().ComputeHash(File.ReadAllBytes(fn)); return BitConverter.ToString(hash).Replace("-", ""); }
这是我目前正在使用的例行程序。
using System.Security.Cryptography; public string HashFile(string filePath) { using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { return HashFile(fs); } } public string HashFile( FileStream stream ) { StringBuilder sb = new StringBuilder(); if( stream != null ) { stream.Seek( 0, SeekOrigin.Begin ); MD5 md5 = MD5CryptoServiceProvider.Create(); byte[] hash = md5.ComputeHash( stream ); foreach( byte b in hash ) sb.Append( b.ToString( "x2" ) ); stream.Seek( 0, SeekOrigin.Begin ); } return sb.ToString(); }
精炼到位。 filename
是您的文本文件的名称:
上述就是C#学习教程:如何从文本文件创建MD5哈希摘要?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
using (var md5 = MD5.Create()) { return BitConverter.ToString(md5.ComputeHash(File.ReadAllBytes(filename))).Replace("-", ""); }
internal static string GetHashCode(string filePath, HashAlgorithm cryptoService) { // create or use the instance of the crypto service provider // this can be either MD5, SHA1, SHA256, SHA384 or SHA512 using (cryptoService) { using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var hash = cryptoService.ComputeHash(fileStream); var hashString = Convert.ToBase64String(hash); return hashString.TrimEnd('='); } } } WriteLine("MD5 Hash Code : {0}", GetHashCode(FilePath, new MD5CryptoServiceProvider())); WriteLine("SHA1 Hash Code : {0}", GetHashCode(FilePath, new SHA1CryptoServiceProvider())); WriteLine("SHA256 Hash Code: {0}", GetHashCode(FilePath, new SHA256CryptoServiceProvider())); WriteLine("SHA384 Hash Code: {0}", GetHashCode(FilePath, new SHA384CryptoServiceProvider())); WriteLine("SHA512 Hash Code: {0}", GetHashCode(FilePath, new SHA512CryptoServiceProvider()));
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954397.html