C#里计算SHA256,主要用来做文件校验

时间:2024-11-06 13:22:40

由于BT算法的出现,大家就开始大量使用了SHA256的算法。

因为在BT算法里,每一块数据,都需要计算一个唯一的标识串,以便从不同地方下载的数据保持正确。

所以每一个文件,都需要经过种子阶段的计算,比如一个1M的文件,每次取256K大小字节为一块,那么这一块数据,就可以计算出来一个256位大小的串出来,生成16进制串就是64个字符。

这样就可以把每一个256K生成一串,保存在一个文件里,这个文件就叫种子文件。

在C#里,也提供了这个算法的计算:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp_sha256
{
    class BTSha256
    {
        public void Hash()
        {
            string source = "Hello World!";
            using (SHA256 mySHA256 = SHA256.Create())
            {
                string hash