如何在 PHP 中制作短随机唯一键,如 YouTube 视频 ID?[已关闭]

2022-08-30 10:37:43

有没有办法创建像YouTube视频网址中使用的那样的唯一密钥(例如:https://www.youtube.com/watch?v=nWChTnkVdKE)?


答案 1

这个想法是转换其他数学基础中的唯一整数(如当前时间)。

PHP中一种非常简单的方法:

// With this precision (microsecond) ID will looks like '2di2adajgq6h'

// From PHP 7.4.0 this is needed, otherwise a warning is displayed
$cleanNumber = preg_replace( '/[^0-9]/', '', microtime(false) );
$id = base_convert($cleanNumber, 10, 36);


// With less precision (second) ID will looks like 'niu7pj'

$id = base_convert(time(), 10, 36);

答案 2

一个小型 PHP 类,用于从一个或多个数字生成类似 YouTube 的哈希值。如果不想向用户公开数据库 ID,请使用 hashids。

资料来源:https://github.com/ivanakimov/hashids.php


推荐