C# 文件 校验:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64

文件 校验 算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64 (免费)

编程语言:C#

功能:文件 哈希 属性

校验算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64。

下载(免费):https://download.csdn.net/download/polloo2012/88450148
 

本程序 File Properties and Hash Validation.exe 验证:

MD5: DD3BE641301A54E093CAC2C15823491A
SHA1: 711330AD0E0BB25D6E6E6AD2BE1ACEE1830C7FBD
SHA256: CEF9D7915425C96C6C73BF212D7C7E6D8A3D90028DFA4278B0E351B3C63BE3EA
SHA384: F6115FCF1C4E08A571D87441E72C163291677D5644A983CE8DD068F1B3386413CFC3390DF0AE47A41B5F90145F798C01
SHA512: 93DDBF61CA0F10500141AB6D78B156C2AB6EEA4A777A8C90D58F40D42BDF5CEE1E0DAAE0258ECB748640CFD07AB5B47EC97E28D929818250D8F1E613C4EF4BA6
CRC32: B5504085
CRC64: E9D486C6CF48506A

更新:2023年10月21日

1、注册windows右键 支持右键

核心代码:

using System;
using System.Collections.Generic;
using System;
using System.Text;
using System.Threading;
using System.Security;
using System.Security.Cryptography;
using System.Data.HashFunction;namespace HashChecker
{/// <summary>/// There are some kinds of hash algorithm in this class likes MD5, SHA1, SHA256, SHA384, SHA512, CRC32, CRC64. /// 此类提供MD5,SHA1,SHA256,SHA384,SHA512,CRC32,CRC64等几种数据摘要算法。/// </summary>public static class HashFunction{/// <summary>/// Caculate string's MD5 value. 计算字符串的MD5值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return MD5 value. 返回MD5值。</returns>public static string md5(string strIN){return md5(System.Text.Encoding.Default.GetBytes(strIN));}/// <summary>/// Caculate string's MD5 value. 计算字符串的MD5值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return MD5 value. 返回MD5值。</returns>public static string md5(Byte[] btIN){System.Security.Cryptography.MD5 md5 = new MD5CryptoServiceProvider();byte[] bytResult = md5.ComputeHash(btIN);md5.Clear();string strResult = BitConverter.ToString(bytResult);strResult = strResult.Replace("-", "");return strResult;}/// <summary>/// Caculate string's SHA1 value. 计算字符串的SHA1值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return SHA1 value. 返回SHA1值。</returns>public static string sha1(string strIN){return sha1(System.Text.Encoding.Default.GetBytes(strIN));}/// <summary>/// Caculate string's SHA1 value. 计算字符串的SHA1值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return SHA1 value. 返回SHA1值。</returns>public static string sha1(byte[] btIN){byte[] tmpByte;SHA1 sha1 = new SHA1CryptoServiceProvider();tmpByte = sha1.ComputeHash(btIN);sha1.Clear();string strResult = BitConverter.ToString(tmpByte);strResult = strResult.Replace("-", "");return strResult;}/// <summary>/// Caculate string's SHA256 value. 计算字符串的SHA256值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return SHA256 value. 返回SHA256值。</returns>public static string sha256(string strIN){return sha256(System.Text.Encoding.Default.GetBytes(strIN));}/// <summary>/// Caculate string's SHA256 value. 计算字符串的SHA256值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return SHA256 value. 返回SHA256值。</returns>public static string sha256(byte[] btIN){byte[] tmpByte;SHA256 sha256 = new SHA256Managed();tmpByte = sha256.ComputeHash(btIN);sha256.Clear();string strResult = BitConverter.ToString(tmpByte);strResult = strResult.Replace("-", "");return strResult;}/// <summary>/// Caculate string's SHA384 value. 计算字符串的SHA384值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return SHA384 value. 返回SHA384值。</returns>public static string sha384(string strIN){return sha384(System.Text.Encoding.Default.GetBytes(strIN));}/// <summary>/// Caculate string's SHA384 value. 计算字符串的SHA384值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return SHA384 value. 返回SHA384值。</returns>public static string sha384(byte[] btIN){byte[] tmpByte;SHA384 sha384 = new SHA384Managed();tmpByte = sha384.ComputeHash(btIN);sha384.Clear();string strResult = BitConverter.ToString(tmpByte);strResult = strResult.Replace("-", "");return strResult;}/// <summary>/// Caculate string's SHA512 value. 计算字符串的SHA512值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return SHA512 value. 返回SHA512值。</returns>public static string sha512(string strIN){return sha512(System.Text.Encoding.Default.GetBytes(strIN));}/// <summary>/// Caculate string's SHA512 value. 计算字符串的SHA512值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return SHA512 value. 返回SHA512值。</returns>public static string sha512(byte[] btIN){byte[] tmpByte;SHA512 sha512 = new SHA512Managed();tmpByte = sha512.ComputeHash(btIN);sha512.Clear();string strResult = BitConverter.ToString(tmpByte);strResult = strResult.Replace("-", "");return strResult;}/// <summary>/// Caculate string's CRC32 value. 计算字符串的循环冗余校验码CRC32值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return CRC32 value. 返回CRC32值。</returns>public static string crc32(string strIN){return crc32(strIN);}/// <summary>/// Caculate string's CRC32 value. 计算字符串的循环冗余校验码CRC32值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return CRC32 value. 返回CRC32值。</returns>public static string crc32(byte[] btIN){return crc_caculator(btIN, CRC.Standard.CRC32);}/// <summary>/// Caculate string's CRC64 value. 计算字符串的循环冗余校验码CRC64值。/// </summary>/// <param name="strIN">input string. 输入的字符串。</param>/// <returns>Return CRC64 value. 返回CRC64值。</returns>public static string crc64(string strIN){return crc64(strIN);}/// <summary>/// Caculate string's CRC64 value. 计算字符串的循环冗余校验码CRC64值。/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <returns>Return CRC64 value. 返回CRC64值。</returns>public static string crc64(byte[] btIN){return crc_caculator(btIN, CRC.Standard.CRC64);}/// <summary>/// CRC Caculator. CRC循环冗余校验码计算器/// </summary>/// <param name="btIN">input Byte Array. 输入的字节数组。</param>/// <param name="standard">CRC Standard. CRC计算标准。</param>/// <returns>Return CRC value. 返回CRC值。</returns>public static string crc_caculator(byte[] btIN, CRC.Standard standard){CRC.Setting crcset = CRC.Standards[standard];System.Data.HashFunction.CRC crc = new CRC(crcset);byte[] tmpByte = crc.ComputeHash(btIN);string strResult = BitConverter.ToString(tmpByte);strResult = strResult.Replace("-", "");return strResult;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/144677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 基于SpringBoot笔记记录分享网站的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Maven 生命周期clean default size含义

clean 负责清理工作&#xff0c;清理上一次项目构建产生的一些文件&#xff0c;如编译后的字节码文件&#xff0c;打包后的jar包文件 default 整一个项目构建的核心工作&#xff0c;如编译&#xff0c;测试&#xff0c;打包&#xff0c;安装&#xff0c;部署等等 size 生成报告…

单链表的实现(全注释promax版)

目录 前言&#xff1a; 哨兵位&#xff1a; 链表的概念 链表的相关操作&#xff1a; 链表的创建&#xff1a; 打印链表&#xff1a; 申请新节点&#xff1a; 链表的尾插&#xff1a; &#xff01;&#xff01;&#xff01;对于传参中二级指针的解释&#xff1a; 链表的…

浅析人脸活体检测技术的功能及几种分类

在日常生活工作中&#xff0c;出现了人脸验证、人脸支付、人脸乘梯、人脸门禁等等常见的应用场景。这说明人脸识别技术已经在门禁安防、金融行业、教育医疗等领域被广泛地应用&#xff0c;人脸识别技术的高速发展与应用同时也出现不少质疑。其中之一就是人脸识别很容易被照片、…

还在为 Dubbo 服务写 Controller?因为未使用 ShenYu 网关

Dubbo 是一款高性能、轻量级的开源 Java RPC 框架&#xff0c;它可以帮助开发人员快速构建分布式服务。在 Dubbo 应用中&#xff0c;我们经常需要提供 HTTP 调用&#xff0c;如供 H5、外部系统等调用。一般的做法是为需要提供 HTTP 调用的服务编写 Controller&#xff0c;但这并…

2023.10.18

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private slot…

[Docker]一.Docker 简介与安装

一、Docker简介与为什么要用 Docker 1.1、Docker 介绍 Docker 是一个跨平台的开源的 应用容器引擎 &#xff0c;诞生于 2013 年初&#xff0c;基于 Go语言 并遵从 Apache2.0 协议开源, Docker 可以把它理解成虚拟机&#xff0c;但是 Docker 和传统虚拟化方式 有所不同 …

39.克鲁斯卡尔(Kruskal)算法

一言 已知n个顶点&#xff0c;选n-1条最短的边&#xff0c;不可成环。 概述 克鲁斯卡尔&#xff08;Kruskal&#xff09;算法是用来求加权连通图的最小生成树的算法。其基本思想是按照权值从小到大的顺序选择n-1条边&#xff0c;保证这n-1条边不构成回路。 这就要求要首先构…

C++ STL六大组件

目录 前言 一、容器 1 向量 1.1 向量&#xff08;Vector&#xff09;和数组&#xff08;array&#xff09;之间的区别 1.2 语法 1.3 示例 1.3.1 创建 vector 对象 1.3.2 不能打印向量对象&#xff1b;不能打印空向量中的元素&#xff0c;因为空向量中无元素可打印 1.3…

PDF编辑阅读 PDF Expert v3.5.2

PDF Expert是由Readdle开发的一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 以下是PDF Expert的特点&#xff1a; PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动…

Spring Cloud Alibaba Seata 实现分布式事物

Seata 是一款开源的分布式事务解决方案&#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案 Seata 官网&#xff1a;https://seata.io/zh-cn/ Spring Cloud Alibaba 官…

Java利用反射和读取xml实现迷你容器

由于需要框架能实现多态&#xff0c;达到控制反转解耦。所以容器还是需要的&#xff0c;容器的存在可以简化对象获取工作&#xff0c;但是容器也不是万能的。合理使用即可&#xff0c;Spring对我来说太庞大了&#xff0c;用不着&#xff0c;为此给框架写一个迷你版容器。 容器…