CShap Hash Search 源代码
时间: 2024-05-14 09:12:23 浏览: 88
以下是一个简单的C#哈希搜索程序的源代码,它使用MD5哈希算法来搜索给定目录中的文件。
```
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace HashSearch
{
class Program
{
static void Main(string[] args)
{
// 获取命令行参数
string directory = args[0];
string hash = args[1];
// 搜索目录中的文件
IEnumerable<string> files = Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories);
// 遍历文件并比较哈希
foreach (string file in files)
{
// 计算文件的哈希值
string fileHash = CalculateMD5(file);
// 比较哈希值
if (fileHash.Equals(hash, StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("File found: " + file);
}
}
Console.ReadLine();
}
private static string CalculateMD5(string file)
{
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(file))
{
byte[] hashBytes = md5.ComputeHash(stream);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("X2"));
}
return sb.ToString();
}
}
}
}
}
```
此程序接受两个命令行参数:要搜索的目录和哈希值。它使用 `Directory.EnumerateFiles()` 方法来获取目录中的所有文件,并使用 `CalculateMD5()` 方法计算每个文件的哈希值。如果哈希值与给定的哈希值匹配,则输出文件路径。
阅读全文