gpt4 book ai didi

string - 是否有Delphi XE2字符串哈希函数保证可以用于查找的唯一性?

转载 作者:行者123 更新时间:2023-12-03 19:00:41 25 4
gpt4 key购买 nike

我正在使用TClientDataSet来管理对象,并为我提供对对象数据的“数据库”访问权限。到目前为止,效果很好。我在数据集中有两个“特殊”(隐藏)字段-“ ObjectName”和“ ObjectRef”。 ObjectName是“类别”和“对象项目名称”的结合体,形式为“我的类别。我的对象”,用于将我从对象实例内部获取到记录号。该字段已建立索引。 “ ObjectRef”是指向该对象实例的指针的整数类型转换,用于所有其他对象生存期管理。

我必须为“ ObjectName”字段选择一个大小,以使其适合我期望的最大类别和名称组合,但这只是一个索引,出于性能和内存的原因,我希望将此大小保持尽可能小。是否可以将“无损”功能应用于表单“我的category.my name”(我仍可以用作哈希值的唯一形式)?哈希函数看起来很聪明,但不是计算机科学专家。我永远不确定如何知道它们的输出是否唯一。

谢谢

最佳答案

所有散列函数都具有排序风险,但AFAIK较为安全的方法之一是SHA-1算法,存在许多delphi实现,例如,您可以使用Jwscl library (JEDI Windows Security Code Lib),它是Windows CryptoAPI的包装(您可以找到一个关于此问题的delphi样本(SHA1 hashing in Delphi XE)或使用属于Indy的TIdHashSHA1类。

另一种选择是使用更简单的哈希函数(非加密),例如delphi在BobJenkinsHash方法中实现的Jenkins哈希函数。

关于string - 是否有Delphi XE2字符串哈希函数保证可以用于查找的唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11665189/

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