有没有办法在unix / linux机器上的Windows机器上进行校验和?
我无法下载任何第三方工具,并想知道是否有类似本地的东西?
答案 0 :(得分:1)
您可以获取该文件的MD5哈希值。您实际上将解析该文件并将其作为字符串传递给此函数。 e.g。
public string GetMD5Hash(string input)
{
System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
bs = x.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
{
s.Append(b.ToString("x2").ToLower());
}
string password = s.ToString();
return password;
}
(摘自here)
...或作为文件:
protected string GetMD5HashFromFile(string fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
取自here计算MD5校验和的文件
答案 1 :(得分:0)
对于现代版本的Windows,您可以运行命令行(就像您提到的那样&#39;像Unix机器一样等等)。
该工具名为 FCIV ,您可以从Microsoft Here下载。 https://www.microsoft.com/en-us/download/details.aspx?id=11533
让它非常简单......
System.out.println(RandomStringUtils.randomNumeric(10));
我很确定在powershell中你可以将该响应解析为PSObject。
答案 2 :(得分:0)
这是一个powershell 1衬里,如果文件的校验和匹配,它将返回'true'。 只需根据需要替换$ filePath,$ hash和加密类型。
certUtil -hashfile $filePath SHA256 | Select-String -Pattern '^.{2}\s' | % {($_ -Replace ' ', '') -eq "$hash"}