首页 > 编程语言 >C# retrieve file CheckSum sha512

C# retrieve file CheckSum sha512

时间:2024-11-16 18:56:27浏览次数:1  
标签:retrieve string filePath C# CheckSum shaBytes sha512Str using sha512

using System.Security.Cryptography;
using System.Text.Unicode;

namespace ConsoleApp4
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string filePath = @"C:\Users\fred\Downloads\dotnet-sdk-9.0.100-win-x64.exe";
            string sha512Str= RetrieveFileSHA512(filePath);
            Console.WriteLine($"File:{filePath}\nSHA512:{sha512Str}");
        }

        static string RetrieveFileSHA512(string filePath)
        {
            string sha512Str = string.Empty;
            if (!File.Exists(filePath))
            {
                return null;
            }
            using(FileStream fs=new FileStream(filePath,FileMode.Open,FileAccess.Read))
            {
                using(SHA512 sha512=SHA512.Create())
                {
                    var shaBytes = sha512.ComputeHash(fs);
                    if(shaBytes!=null && shaBytes.Any())
                    {
                        sha512Str = BitConverter.ToString(shaBytes).Replace("-", "").ToLowerInvariant();                        
                    }
                }
            }
            return sha512Str;
        }
    }
}

 

 

 

 

 

 

 

 

标签:retrieve,string,filePath,C#,CheckSum,shaBytes,sha512Str,using,sha512
From: https://www.cnblogs.com/Fred1987/p/18549695

相关文章

  • mac_OS虚拟机VMware Fusion定制虚拟网卡IP地址
     cd/Library/Preferences/VMware\FusionvimnetworkingVERSION=1,0answerVNET_1_DHCPyesanswerVNET_1_DHCP_CFG_HASH4C38E57B8B33183E68351DF648C7C5182A8EDC90answerVNET_1_HOSTONLY_NETMASK255.255.255.0answerVNET_1_HOSTONLY_SUBNET172.16.224.0answe......
  • C# The file is too long. This operation is currently limited to supporting file
    namespaceConsoleApp4{internalclassProgram{staticvoidMain(string[]args){stringbigFile=@"C:\Users\fred\Downloads\ebook-master.zip";ReadBigFile(bigFile);}......
  • GC优化:栈内存、span、NativeMemory、指针、池化内存 笔记
    stackalloc使用栈内存,减少GC压力varwordMatchCounts=stackallocfloat[wordCount];SpanSpan支持reinterpret_cast的理念,即可以将Span强制转换为SpanSpan支持reinterpret_cast的理念,即可以将Span强制转换为Span(其中,Span中的索引0映射到Span的前四个字节......
  • CS202 Weensy OS
    Home|Schedule|Policiesandgrading|Labs|Infrastructure|Exams|Referencematerials|AnnouncementsCS202:Lab4:WeensyOSIntroductionInthislab,youwillimplementprocessmemoryisolation,virtualmemory,andasystemcall(fork())inatiny(bu......
  • 【转载】遗传算法—HyperNEAT Explained——Advancing Neuroevolution
    原文地址:https://hunterheidenreich.com/posts/next-gen-neuroevolution-hyperneat/ExpandingNeuroEvolutionLastweek,IwroteanarticleaboutNEAT(NeuroEvolutionofAugmentingTopologies)andwediscussedalotofthecoolthingsthatsurroundedthealgori......
  • Wincc 7.5SP1下VBA编程练习:批量设置看见权限
    这一篇学习笔记我在新浪发表过,那边还在审核。在这里也记录一下。前两天QQ群里面有人询问能不能快速的给WINCC画面上的控件设置操作权限,这个是比较容易的。比如有个画面有10个IO域,在VBA编辑器写下面的脚本:SubIOField_PropertyTrigger1()DimobjectsDimobjDimobjdynamicDi......
  • springboot3整合mybatisplus问题Invalid value type for attribute 'factoryBeanObjec
    版本说明:JDK版本:17springboot版本:3.3.5问题分析:springboot版本与mybatisplus版本不兼容解决办法:将mybatisplus版本替换为以下版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>......
  • [C++] 智能指针
    文章目录智能指针的使用原因及场景分析为什么需要智能指针?异常抛出导致的资源泄漏问题分析智能指针与RAIIC++常用智能指针使用智能指针优化代码优化后的代码优化点分析析构函数中的异常问题解决方法RAII和智能指针的设计思路详解什么是RAII?RAII的工作原理智能......
  • 手把手教你用C语言写一个简单的quine(输出自身的程序)
    第一步,写个简单的框架#include<stdio.h>intmain(){ printf("#include<stdio.h>\nintmain(){\n\tprintf();\n\treturn0;\n}"); return0;}printf的东西先留空。这时你会发现printf里面的东西需要是这句东西本身,如果把这句话复制进去,你会发现最内层还存在一个空的括号,反......
  • Python实现Graham Scan算法并进行凸包计算
    目录使用GrahamScan算法进行凸包计算第一部分:GrahamScan算法概述1.1什么是GrahamScan算法?1.2算法的应用场景1.3算法的优点和局限第二部分:算法的数学基础与步骤2.1凸包的定义与性质2.2算法的关键步骤2.3极角计算公式2.4算法流程图第三部分......