是否可以将完整的utf-8网址转换为唯一ID

时间:2018-11-04 20:21:58

标签: php unique-key

是否可以将url中的路径utf-8转换为php中固定且简短的唯一ID?

我每次都想要,结果一样。

例如:

questions/صصثبصث/ask?q=asd$a=سیبث

变成这样:34Sdd6N

3 个答案:

答案 0 :(得分:1)

当我们谈论性能时,CRC32是最合适的选项。如果您将MySQL / MariaDB用作DBMS,则可以创建带有INT标志的UNSIGNED列,并且它将每个地址仅以4个字节完全存储CRC32结果。

PHP具有crc32函数,该函数可以接受字符串并且散列效果很好,因此您不必真正关心重复项。

如果您想在不影响数据库性能的情况下将ABCDEF字母添加到哈希中,并且也可以使用dechex将其转换回去,还可以在CRC32结果周围添加hexdec包装器。

答案 1 :(得分:0)

将url保存在数据库表中,并将“代码”列或其他类似的名称添加到table中。您可以为每个插入网址添加随机字符串,并使用此代码获取网址。绝不使用重复的代码。

答案 2 :(得分:0)

您要询问的基本上是哈希。在php中也有一些可用于散列的函数。 here提供了一种这样的功能。希望您会发现它有用。