我正在编写一个C#应用程序,允许用户将电子邮件存储在MS SQL Server数据库中。很多时候,客户会将同一封电子邮件抄送给多个用户。如果他们都试图将相同的电子邮件添加到数据库中,我希望确保该电子邮件只被添加一次。
MD5似乎是一种实现这一点的方法。我不需要担心恶意篡改,只需确保相同的电子邮件将映射到相同的哈希值,并且不会有两个具有不同内容的电子邮件映射到相同的哈希值。
我的问题实际上归结为如何将多个字段组合成一个MD5(或其他)哈希值。其中一些字段将每封电子邮件具有单个值(例如主题、正文、发件人电子邮件地址),而其他字段将具有多个值(不同数量的附件、收件人)。我想开发一种唯一标识电子邮件的方式,它将是平台和语言无关的(不基于序列化)。有什么建议吗?
MD5似乎是一种实现这一点的方法。我不需要担心恶意篡改,只需确保相同的电子邮件将映射到相同的哈希值,并且不会有两个具有不同内容的电子邮件映射到相同的哈希值。
我的问题实际上归结为如何将多个字段组合成一个MD5(或其他)哈希值。其中一些字段将每封电子邮件具有单个值(例如主题、正文、发件人电子邮件地址),而其他字段将具有多个值(不同数量的附件、收件人)。我想开发一种唯一标识电子邮件的方式,它将是平台和语言无关的(不基于序列化)。有什么建议吗?