C#中Mod 256校验和的示例

时间:2012-08-30 12:35:10

标签: c# .net windows

我似乎无法找到关于此校验和算法的大量信息,也没有关于C#的任何信息,我有一个如下的场景;

我有一串数据,例如:

string input = "hello world"

我想创建一个校验和,稍后我可以使用相同的字符串验证它

4 个答案:

答案 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,并将它们全部排除在一起。