gpt4 book ai didi

c# - 如何为地址结构生成唯一标识符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:34:40 24 4
gpt4 key购买 nike

我有一个描述地址的结构,它看起来像:

class Address
{
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string Zip { get; set; }
public string Country { get; set; }
}

我正在寻找一种方法来为这个结构创建一个唯一标识符(我假设它也应该是一种string)这取决于所有结构属性(例如 AddressLine1 的更改也会导致结构标识符的更改)。

我知道,我可以将所有属性连接在一起,但这提供了太长的标识符。我正在寻找比这短得多的东西。

我也假设不同地址的数量不应该超过100M。

关于如何生成这个标识符有什么想法吗?

提前致谢。

史前史:

数据库中有几个不同的表,其中包含一些信息+地址数据。数据以类似于上述格式的格式存储。

不幸的是,将地址数据移动到单独的表中目前成本非常高,但我希望将来会这样做。

我需要将一些额外的属性与地址数据相关联,并打算为此创建一个单独的表。这就是为什么我需要唯一标识地址数据。

最佳答案

将所有字段序列化为一个大的二进制值。例如,使用具有适当域分隔的串联。

然后使用足够长度的加密散列对该值进行散列。我更喜欢 256 位,但 128 位可能没问题。使用良好的散列,碰撞极为罕见,使用像 SHA-256 这样的 256 位散列,它们几乎是不可能的。

关于c# - 如何为地址结构生成唯一标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15862032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com