PHP - 计算两个字符串之间相似度的最佳哈希算法是什么?

标签 php string algorithm hash similarity

我想使用 hash()计算/找到两个字符串之间的相似度。

在 PHP 中有许多受支持的散列算法。列表可以用hash_algos(获得).

最好推荐使用哪种算法?

最佳答案

你的问题太含糊了。

首先,你说你想计算两个字符串之间的相似度。这根本不需要散列。您可以为此使用compareequalitylevenshtein distanceedit distance 等。

Why do we use hashing

如果有一些我们无法以明文形式存储的敏感数据并且我们不需要在任何处理、计算或修改数据中使用该数据,而只需要比较它为了精确相等,我们使用哈希。 例如。存储用户密码,只需要在他尝试登录时与密码字符串进行比较

Parameters

速度、安全性(也许还有受欢迎程度)

一些最流行的哈希包括 md5、SHA-1、SHA-256 和 SHA-512。这是它们安全且相对较慢的顺序。

fast, less secure | md5 < SHA-1 < SHA-256 < SHA-512 | relatively slow, more secure

我建议使用 SHA-1 或 SHA-256,它们足够快且足够安全。

此外,使用 secret salt 可以成倍地提高安全性(使用 salt 时散列可以显着提高安全性,原因很明显)。

关于PHP - 计算两个字符串之间相似度的最佳哈希算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477549/

相关文章:

javascript - 判断一个字符串是否由特定的字符集组成

c++ - 从图片中检测最暗的固定大小的方 block

php - 尽管满足条件,但如果在条件语句中调用 return,则函数返回 null。返回条件之外的期望值

java - 如何在 Lucene 中获取多词术语的频率?

php - jQuery 尝试加载不存在的 ajax-loader.gif mod-rewrite 不起作用

c# - 如何扩展 C# 内置类型,如 String?

java - 比较两个版本字符串(4.x.x.x、5.x.x.x)

php - 查看调用返回结果 x 2

php - WordPress的functions.php函数执行顺序

php - 如何更改随 SOAP 请求发送的命名空间?