class Program
{
public static string GetChecksum(string m_fileinput)
{
string m_checksum;
using (FileStream stream = File.OpenRead(m_fileinput))
{
SHA256Managed sha = new SHA256Managed();
byte[] checksum = sha.ComputeHash(stream);
m_checksum =
BitConverter.ToString(checksum).Replace("-", String.Empty);
}
return m_checksum;
}
static void Main(string[] args)
{
string fileContent = File.ReadAllText("C://Users//wiproat3//Desktop//checksum.txt");
string checksum = GetChecksum(fileContent);
Console.WriteLine(checksum);
Console.ReadLine();
}
}
我正在尝试为文件创建校验和。虽然调试文件内容为红色,但我收到此错误"类型' System.ArgumentException'的第一次机会异常。发生在mscorlib.dll" in" filestream"线。
答案 0 :(得分:0)
您只需要更正对GetChecksum
功能的调用。
现在,您将checksum.txt的完整内容作为字符串传递给GetChecksum
的m_fileinput参数。但是File.OpenRead
期待文件路径 - 而不是文件的内容。
您所要做的就是更新您的主要功能,所以它看起来像下面的代码。
static void Main(string[] args)
{
string checksum = GetChecksum("C://Users//wiproat3//Desktop//checksum.txt");
Console.WriteLine(checksum);
Console.ReadLine();
}