.Net6与Framework不同方式获取文件哈希值的性能对比

  • 算法:MD5、SHA1、SHA256、SHA384、SHA512
  • 文件数:200
  • 平台对比:.NET 6 vs .NET Framework 4.7.2

关键代码

csharp 复制代码
// 读取文件夹,获取MD5值
var hashs = new HashAlgorithm[] { MD5.Create(), SHA1.Create(), SHA256.Create(), SHA384.Create(), SHA512.Create() };
var files = dir.GetFiles("*", SearchOption.AllDirectories).OrderBy(f => f.Name).Take(200);
foreach (var hash in hashs)
{
    var map = new Dictionary<string, List<FileInfo>>();
    sw.Restart();
    foreach (var file in files)
    {
        using (var fs = file.OpenRead())
        {
            var md5 = BitConverter.ToString(hash.ComputeHash(fs));
            if (!map.ContainsKey(md5))
                map.Add(md5, new List<FileInfo>());

            map[md5].Add(file);
        }
    }
    sw.Stop();
    var hash_name = hash.GetType().BaseType.Name;
    Console.WriteLine($"{hash_name}:{map.Count},耗时:{sw.Elapsed.TotalMilliseconds}");
}

运行结果

结论

  • .NET 6 的性能确实远比.NET Framework要高;
  • SHA1性能最高,MD5次之,另外几种算法性能远低前两者;
相关推荐
金枪不摆鳍27 分钟前
算法基础-哈希表
算法·哈希算法
!chen33 分钟前
SignalR移植到Esp32小智设备无缝连接.NET功能拓展MCP服务
windows·.net
码云数智-园园33 分钟前
从 ASP.NET MVC 到现代 .NET:一份完整的迁移升级指南
asp.net·mvc·.net
lfq76120434 分钟前
.NET Framework 下 C# MVC 项目敏感信息安全存储方法
安全·c#·mvc·.net
Blossom.1181 小时前
从“金鱼记忆“到“超级大脑“:2025年AI智能体记忆机制与MoE架构的融合革命
人工智能·python·算法·架构·自动化·whisper·哈希算法
槐序十七^19 小时前
某CSDN文字点选算法分析
js逆向·哈希算法·验证码·python爬虫·pyhon·文字点选验证码
心.c1 天前
Vue3+Node.js实现文件上传分片上传和断点续传【详细教程】
前端·javascript·vue.js·算法·node.js·哈希算法
PfCoder1 天前
C#中定时器之System.Timers.Timer
c#·.net·visual studio·winform
独自破碎E2 天前
【前缀和+哈希】LCR_011_连续数组
算法·哈希算法
ahxdyz2 天前
.NET平台MCP
ai·.net·mcp