输入:我有.csv
个文件,其中包含n
列。第一行是标题。我需要计算.csv
文件中一个字段的总和(例如它被称为"Value"
),然后使用SHA1计算此总和的哈希值。
我看到SHA1可以使用字符串http://snipplr.com/view/70294/
但是我怎样才能将它与.csv
文件中的数据结合起来呢?你能帮帮我吗。
答案 0 :(得分:1)
这样做的基本方法是:
ToString
值传递给SHA-1 public static string GetSha1Sum()
{
double sum = 0;
using (CSVReader cr = new CSVReader(myfilename))
{
foreach (string[] line in cr)
{
//assuming your field is the first:
sum += Convert.ToDouble(line[0]);
}
}
SHA1 sha1Hash= SHA1.Create();
byte[] data = sha1Hash.ComputeHash(Encoding.UTF8.GetBytes(sum.ToString()));
string digest = HexDigest(data);
}
HexDigest
帮助器是一个将字节数组格式化为十六进制字符串的函数:
public static string HexDigest(byte[] data)
{
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
//format the bytes in hexadecimal
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
的更多信息