【发布时间】:2011-11-06 18:58:39
【问题描述】:
可能重复:
How do I create a HashCode in .net (c#) for a string that is safe to store in a database?
我使用 C# 4.0 并通过调用获取字符串哈希:
"my string".GetHashCode()
此调用生成的代码存储到数据库中以供将来使用。此哈希码用于查找字符串的某个子集,然后进行相等比较。
问题是:
- 是标准化的哈希计算吗?我可以假设它是 是否可以在不同的环境(例如 .Net 3.0 或未来的 .Net 版本中的 C#)中计算相同的哈希?
- 是否可以通过用 Java、PL/SQL、Ruby 等编写自己来计算相同的哈希函数?
- 我可以假设今天生成的哈希明天在 一样的环境?例如,当我关闭计算机并 再次运行程序,或者更改语言环境或其他一些设置?
- 可移植性有哪些限制?
- 我知道我可以自己做,但也许提供了某种可移植性?
【问题讨论】:
-
您的问题的答案是不,不,不,不,不,没有任何“可移植性”,也没有任何“可移植性”。 在任何情况下,您都不应做您所描述的事情。
标签: c# .net hash portability