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

标签 c# .net datatable checksum md5sum

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

谢谢。

最佳答案

应该做到以下几点:

// 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);

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

关于c# - 如何从 DataTable 对象创建校验和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4802517/

相关文章:

jsf - 重复值的 Primefaces 行分组

c# - 如何将列表列表绑定(bind)到 WPF 中的列表框?

c# - 如何查找正在使用 COM 互操作组件的进程

c# - 解耦架构

c# - 评估堆栈的 .NET CIL 操作

c# - 连接字符串属性尚未初始化

C# 是什么导致我的简单消息传递服务器在启动时没有响应

datatable - 在DataTable中显示用户TimeZone中的DateTime数据

javascript - DataTable 在编辑后不记得分页页面

.net - Entity Framework 如何判断是否应在关系上使用 "one"或 "zero or one"的多重性?