PHP 短哈希,如 URL 缩短网站

标签 php hash

我正在寻找一个 PHP 函数,它可以从字符串或文件中创建一个简短的哈希,类似于那些 URL 缩短网站,如 tinyurl.com

哈希不应超过 8 个字符。

最佳答案

TinyURL 不散列任何内容,它使用 Base 36 整数(甚至是 base 62,使用大小写字母)来指示要访问的记录。

基数 36 到整数:

intval($str, 36);

以 36 为底的整数:

base_convert($val, 10, 36);

那么,不是重定向到像 /url/1234 这样的路由,而是变成 /url/ax。这比散列提供了更多的用途,因为不会发生冲突。有了这个,您可以轻松检查 url 是否存在并返回正确的、现有的、以 base 36 为基础的 ID,而用户不知道它已经在数据库中。

不要散列,对这类事情使用其他基础。 (它更快,并且可以防碰撞。)

关于PHP 短哈希,如 URL 缩短网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/959957/

相关文章:

php - 打开和关闭多个查询的 mysqli 连接

javascript - 自动完成:以不同的颜色显示未完成的字符

php - Haxe 真的适合 php-targeting 服务器端开发吗?

php - password_verify 正在返回 true

java - 用于在 Java 中比较对象的哈希

php - 地穴为两个不同(相似)的密码返回相同的哈希值

php - 解决 Zend Date DST 错误

php - 每 24 小时重新发送一次电子邮件,持续 3 天

mysql - 退出内置 Coldfusion 函数

java - 哈希用户密码并检查Android中数据库中的哈希值