我似乎无法找到关于此校验和算法的大量信息,也没有关于C#的任何信息,我有一个如下的场景;
我有一串数据,例如:
string input = "hello world"
我想创建一个校验和,稍后我可以使用相同的字符串验证它
答案 0 :(得分:3)
也许这对你来说已经足够了。如果使用字节作为校验和,则自动隐含Mod 256。
string s = "hello world";
byte[] data = Encoding.ASCII.GetBytes(s);
byte check = 0;
for (int i = 0; i < data.Length; i++)
{
check += data[i];
}
答案 1 :(得分:2)
(byte) input.GetHashCode()
?.........
答案 2 :(得分:0)
将字符串转换为字节数组并计算校验和:
string input = "hello world";
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
var array = enc.GetBytes(input);
byte chksum = 0;
foreach(byte data in array)
{
chksum += data;
}
答案 3 :(得分:0)
默认情况下,校验和是整个数据的简单二进制XOR,用于生成内容的单个数字描述符。通常,XOR校验和的宽度为32或64,以匹配平台单词的大小,以便更快地计算,这些总和分别为模2 ^ 32和2 ^ 64。如果有人说modulo256,那么可能他想要一个单字节,8位,因此模256个校验和。
那就是,你只是简单地从字符串中获取GetBytes,并将它们全部排除在一起。