C# 如何扫描所有目录';文件,并将其与我的哈希列表进行比较?

C# 如何扫描所有目录';文件,并将其与我的哈希列表进行比较?,c#,.net,hash,md5,C#,.net,Hash,Md5,我正在制作一个应用程序来扫描文件的散列,如果该散列与我的文本文件上的散列匹配,它会将其标记为“匹配”,这是我的代码 using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Security.Cryptography; using System.IO; using System.Reflection; namespace Q

我正在制作一个应用程序来扫描文件的散列,如果该散列与我的文本文件上的散列匹配,它会将其标记为“匹配”,这是我的代码

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

namespace Quick_Scan
{
    class Program
    {
        public static String GetHash<T>(Stream stream) where T : HashAlgorithm
        {
            StringBuilder sb = new StringBuilder();

            MethodInfo create = typeof(T).GetMethod("Create", new Type[] { });
            using (T crypt = (T)create.Invoke(null, null))
            {
                byte[] hashBytes = crypt.ComputeHash(stream);
                foreach (byte bt in hashBytes)
                {
                    sb.Append(bt.ToString("x2"));
                }
            }
            return sb.ToString();
        }

        static void Main(string[] args)
        {

            int precentagedone = 0;
            Console.WriteLine("Quick Scan v1.0");
            Console.WriteLine("Starting scan...");
            Console.WriteLine(" ");
            Console.WriteLine("Scanned "+precentagedone+"%");
            using (FileStream fStream = File.OpenRead("hashes.txt"))
            {
                GetHash<MD5>(fStream);
            }
        }
    }
}
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Security.Cryptography;
使用System.IO;
运用系统反思;
名称空间快速扫描
{
班级计划
{
公共静态字符串GetHash(Stream-Stream),其中T:HashAlgorithm
{
StringBuilder sb=新的StringBuilder();
MethodInfo create=typeof(T).GetMethod(“create”,新类型[]{});
使用(T crypt=(T)create.Invoke(null,null))
{
byte[]hashBytes=crypt.ComputeHash(流);
foreach(字节bt,以hashBytes表示)
{
某人附加(bt.ToString(“x2”));
}
}
使某人返回字符串();
}
静态void Main(字符串[]参数)
{
int-precentagedone=0;
Console.WriteLine(“快速扫描v1.0”);
Console.WriteLine(“开始扫描…”);
控制台。写线(“”);
Console.WriteLine(“已扫描”+precentagedone+“%”);
使用(FileStream fStream=File.OpenRead(“hashes.txt”))
{
GetHash(fStream);
}
}
}
}
我不使用这些使用图书馆的东西,因为我只是跟随一些随机的问题答案,不起作用,然后什么都不起作用
如何“扫描”目录中的所有文件我有一个名为hashes.txt的文件,该文件的一行是散列,我想将它们与目录中的任何文件进行比较,我该怎么做?

出于某种原因,它会立即结束。我只希望程序在扫描完目录的100%后结束。我该怎么做?看起来你对编程还不熟悉(“使用图书馆的东西”)并且你试图让你在互联网上找到的代码工作(“随机问题答案”),但这不是一个可以让人们为您编写代码的服务。您必须自己尝试解决这个问题。但是,我给您一条建议。如果您想比较散列,您需要首先计算文件散列。在上面的代码中,您所做的只是打开hashes.txt文件,而不是通过生成任何实际文件并计算其哈希值。