如何从 DataTable 对象创建校验和?

meh*_*rif 1 .net c# datatable checksum md5sum

我有一个 45-50 列和 45-50 行的数据表,我想创建一个校验和文本或 md5、sha1,我不知道哪个更好。如果还有其他文本,我将创建该文本并在数据库中搜索它。但是文本长度必须在 100-200 个字符之间,我不知道我是否可以做到。那么你对此有何看法,我该怎么做?

谢谢。

vc *_* 74 5

以下应该做:

// Serialize the table
var serializer = new DataContractSerializer(typeof(DataTable));
var memoryStream = new MemoryStream();
serializer.WriteObject(memoryStream, table);
byte[] serializedData = memoryStream.ToArray();

// Calculte the serialized data's hash value
var SHA = new SHA1CryptoServiceProvider();
byte[] hash = SHA.ComputeHash(serializedData);

// Convert the hash to a base 64 string
string hashAsText = Convert.ToBase64String(hash);
Run Code Online (Sandbox Code Playgroud)

请注意,我们正在序列化整个表,不仅是它的字段值,而且该表必须有一个名称才能允许序列化

  • @mehmetserif 添加对 system.runtime.serialization 的引用 (2认同)