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

这篇具有很好参考价值的文章主要介绍了.Net6与Framework不同方式获取文件哈希值的性能对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

关键代码

// 读取文件夹,获取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}");
}

运行结果

.Net6与Framework不同方式获取文件哈希值的性能对比,.net,哈希算法,文件对比,获取文件哈希值文章来源地址https://www.toymoban.com/news/detail-730570.html

结论

  • .NET 6 的性能确实远比.NET Framework要高;
  • SHA1性能最高,MD5次之,另外几种算法性能远低前两者;

到了这里,关于.Net6与Framework不同方式获取文件哈希值的性能对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 不同版本的 .NET Framework 下的 csc编译器的版本

    以下是不同版本的 .NET Framework 下的 csc.exe 编译器的版本: .NET Framework 2.0 - 3.5: csc.exe 版本:2.0.xxxxxx .NET Framework 4.x: .NET Framework 4.0: csc.exe 版本:4.0.xxxxxx .NET Framework 4.5 - 4.8: csc.exe 版本:4.0.xxxxxx .NET Framework 4.5.1 以及更新版本(4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8): csc.exe 版本

    2024年02月12日
    浏览(31)
  • .NET6使用微信小程序授权登录,获取手机号

    1.在appsettings配置你的小程序配置信息 2.请求接口时先获取Access_token 3.授权时获取手机号 4.微信接口要求必须使用Post请求方法 //小程序官方文档 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html

    2024年02月13日
    浏览(35)
  • Linux系统上创建.NET6项目(通过命令行(CTL)方式)

    平时大家创建项目基本上都是借助开发工具创建,比如visual studio,visual studio code,今天我们在Linux系统上,通过命令行的形式创建.NET6项目。 第一个直接安装 如图所示,即.NET环境安装成功。 我们以webapi为例,演示创建项目的过程。 认识dotnet相关命令 经常会用到的命令。 认

    2024年02月03日
    浏览(29)
  • .Net6 MVC文件介绍

    .Net6 MVC文件介绍 .csproj 文件 在解决方案资源管理器中双击项目名称以在编辑器中打开 .csproj 文件。右键单击项目,然后单击编辑项目文件以编辑 .csproj 文件。如下图所示。 Project Sdk = \\\"Microsoft.NET.Sdk.Web\\\"     PropertyGroup     TargetFramework net6 . 0 /TargetFramework     Nullable enable / N

    2024年02月05日
    浏览(38)
  • C#面:列举ASP.NET页面之间传递值的几种方式

    查询字符串(Query String): 可以通过在URL中添加参数来传递值。 例如:http://example.com/page.aspx?id=123 在接收页面中可以通过Request.QueryString[“id”]来获取传递的值。 会话状态(Session State): 可以使用Session对象在不同页面之间存储和检索值。 在发送页面中可以使用Session[“k

    2024年02月19日
    浏览(30)
  • .net6 Program.cs 文件解析

    Program.cs 是整个Web应用程序的入口文件,.NET6 用了极简单的风格搞定了很多事情。 Program.cs中首先注意的是:         1.builder.Services.AddXXX是用来添加服务的,builder是WebApplicationBuilder对象;         2.builder.Services.ConfigureT(具体配置文件中的节点)是用来配置服务的。当然有时

    2024年02月07日
    浏览(30)
  • .net core .net6 读取数据库 读取配置文件 保姆级教程

    本文环境 Microsoft Visual Studio 2022 .Net6 SQLServer2019 在解决方案管理器右键添加相关的包,如下两个包 Microsoft.Data.SqlClient SQLServer SQLServer数据库 Microsoft.Extensions.Configuration.Json json配置文件 添加配置文件 appsettings.json,选始终复制 添加json配置文件内容如下 DefaultConnection 根据自己的

    2024年02月08日
    浏览(39)
  • MyBatis中获取参数值的两种方式:${} 和 #{},以及它们之间区别是什么?

    ${}:的本质就是字符串拼接 #{}:的本质就是占位符赋值 ① 使用${}占位符,在字符串拼接的方式拼接sql,若为字符串类型或为日期类型的字段进行赋值时,需要手动加单引号 ② 使用#{}占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,自动添加单引

    2024年02月04日
    浏览(37)
  • .net6.0引用的dll放置单独的文件夹

    .net6.0 采用原有的设置方法不起作用 http://www.dedeyun.com/it/csharp/104076.html 需要在App.xaml.cs文件中加入以下代码 https://9to5answer.com/using-an-absolute-path-in-probing-privatepath

    2024年02月12日
    浏览(26)
  • 银河麒麟服务器v10 sp1 .Net6.0 上传文件错误

    上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客 .NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址:GitHub - mono/libgdiplus: C-based implementation of the GDI+ API 因此,解决方法

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包