gpt4 book ai didi

c# - 尝试压缩 Sha1 的大小,也许是制作唯一标识符的更好选择

转载 作者:行者123 更新时间:2023-11-30 04:19:09 26 4
gpt4 key购买 nike

我有以下三条信息。群组名称、群组类型和群组排名。

举个简单的例子

“妈妈的猫”、“猫”、“Top10”

这个例子与我正在做的事情相去甚远,但你已经明白了基本的想法。

群组名称是大量可能的值(例如大约 20k),而群组类型和群组排名则较小(例如各 10 个)

尝试找到一种更好的方法来为这组事物提供一个简短的唯一标识符,而不是使用带有巨大丑陋 URL 的 sha1

还有更好的想法吗?

对所有语言解决方案开放,所以只是将很多程序员固定在这里,因为我想不出更好的标签来分配给它。

谢谢。

编辑:我不久前在其他地方找到的一个解决方案指出,获取 SHA-1 中的最后几个字符并将它们转换为十进制值。不确定这个想法有多可靠以及碰撞的可能性。

EDIT2:使用 mongoDB 并将此 sha1 值与成员一起存储在数据库中,以便目前轻松查询。尝试寻找替代解决方案来在单独的表/集合中创建自动增量字段,这意味着运行更新脚本时会出现更多查询。

最佳答案

对于 python 映射,您可以使用(grouptype、groupranking、groupname)作为字典键,或者您可以通过拆分具有 grouptype -> groupranking -> groupname 键的字典等内容来减小字典的大小。

为了生成唯一的 url,grouptype.rank.name 有什么问题,或者/作为分隔符有什么问题 - 您可以使用有效的 url 类型函数以 %nn 格式替换每个中的无效字符。

您可以使用urllib.quote('/'.join([baseurl, grouptype, groupranking, groupname])生成这样的路径甚至 baseurl + urllib.urlencode({'grouptype':grouptype,'groupranking':groupranking,'groupname':groupname}) - 后者将产生典型的查询格式:baseurl?grouptype=Whatever&....

关于c# - 尝试压缩 Sha1 的大小,也许是制作唯一标识符的更好选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17564244/

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