C#中字符串中最快的冗余校验和是多少?

时间:2012-01-31 15:21:06

标签: c# checksum crc crc32

我有一个字符串,长度为20-30个字符,包含区分大小写的字母和数字

我需要生成一个2个字符的校验和(也包括敏感字母和数字)

并将它们放在一起以获得唯一ID

C#中用于计算校验和以进行验证的最快方法是什么?

1 个答案:

答案 0 :(得分:1)

你有三个问题:

  1. 字符串的快速校验和计算:Adler32速度足够快,分配速度足够快。

  2. 将校验和转换为字符集的字符串(区分大小写的字母+数字):如果您可以添加+/个字符,则很容易使用base64

  3. 从这两个生成唯一ID:使用给定方法这是不可能的。因为对于相同的字符串,你最终会得到相同的校验和,这无助于唯一性。

  4. 如果您的项目集有限,可以使用全局计数器,并在每次创建新记录时增加它。