youtube url 是如何构建的?

how is youtube url constructed?

我想知道 youtube url 是如何构建的?例如 https://www.youtube.com/watch?v=L7Jd910Bw84

  1. L7Jd910Bw8这个值是怎么创建的,是哈希值吗?
  2. 是否有任何 PHP 函数可用于创建此类 url?
  3. 如何确保两个不同的对象不会获得相同的值?
  4. 使用这种url的优点和缺点是什么?

谢谢 :) !

  1. 它基本上只是一个唯一标识视频的ID。从技术上讲,不需要对其进行哈希处理,但他们确实将其编码为字符串以使 ID 更难读。
  2. 并非专门针对 YouTube 网址,但可以轻松地为具有数字 ID(例如自动递增数字主键)的任何资源项创建您自己的 "hashed" ID 字符串。您只需通过一些简单的可逆数学函数 运行 数字 ID,然后使用您想要的字符字母表对结果数字进行编码,例如base58。或者,如果 CPU 功率不是问题,您可以简单地使用更复杂的算法对其进行哈希处理。
  3. 如果您的 ID 一开始就不同,并且您所做的只是一个简单的编码,例如一些数学函数,然后十进制到 base58。即使您使用更复杂的算法,大多数算法的机会也几乎为零。
  4. 优点和缺点
    • 优点:安全/隐私。由于大多数数字 ID 按顺序 运行,如果您简单地使用 id=123456,每个人都会知道您的数据库中有 123456 个项目。有了编码字符串,没人知道。
    • 缺点:处​​理。显然,生成这些 ID 所需的处理量会略有增加。