散列文件并使用C#检测它

时间:2016-06-17 22:53:27

标签: c# security hash

我在C#中有一个关于散列的问题,他们是一种检测散列文件的方法,这些文件作为一个过程运行或者沿着那些行运行。

我正在研究散列exe或任何其他文件格式,我想知道是否有办法检测它在C#中运行。

1 个答案:

答案 0 :(得分:0)

对于散列使用System.Security.Cryptography.MD5System.Security.Cryptography.SHA1

SHA1 sha1 = SHA1.Create();
FileStream fs = new FileStream("myFile", FileMode.Open, FileAccess.Read);
byte[] hash = sha1.ComputeHash(fs);
fs.Close();

如果要分析所有正在运行的进程,可以执行以下操作(请注意,如果您的进程为32位,则无法访问64位进程):

foreach (Process proc in Process.GetProcesses())
{
    try
    {
        string exePath = proc.MainModule.FileName;
        // calculate hash
    }
    catch
    { }
}

如果您想获取正在使用的所有文件的列表,可以查看this topic,但这将是一个思考。