你如何构建youtube url?

时间:2015-06-21 15:24:49

标签: php url url-rewriting youtube

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

  1. 如何创建L7Jd910Bw8的值,它是一个哈希值吗?
  2. 是否有用于创建此类网址的PHP函数?
  3. 如何确保两个不同的对象不能获得相同的值?
  4. 使用这种网址的优点和不同之处是什么?
  5. 谢谢:)!

1 个答案:

答案 0 :(得分:3)

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