Php youtube是如何使用base#u encode获取唯一id';它还不可加密吗?

Php youtube是如何使用base#u encode获取唯一id';它还不可加密吗?,php,mysql,Php,Mysql,我发现youtube上的视频有URL RARLG6HEZM对于视频来说是独一无二的,如果你改变了一个字母,它就不起作用了,所以它很好地保护了隐私 我尝试了64和32解密程序来找出原始值,但无法找到,所以他们做了一些花哨的事情。你知道他们是怎么做的吗?我想在我的网站上为我的网站视频实现此功能。谢谢大家! 他们正在使用一种叫做散列的技术: 散列创建唯一的字符串(大部分情况下),而不显示原始字符串是什么。您无法解码ID的原因是因为您不应该解码-这就是散列的美妙之处。这是一个随机生成的“散列”。这实际

我发现youtube上的视频有URL

RARLG6HEZM对于视频来说是独一无二的,如果你改变了一个字母,它就不起作用了,所以它很好地保护了隐私


我尝试了64和32解密程序来找出原始值,但无法找到,所以他们做了一些花哨的事情。你知道他们是怎么做的吗?我想在我的网站上为我的网站视频实现此功能。谢谢大家!

他们正在使用一种叫做散列的技术:


散列创建唯一的字符串(大部分情况下),而不显示原始字符串是什么。您无法解码ID的原因是因为您不应该解码-这就是散列的美妙之处。

这是一个随机生成的“散列”。这实际上不是MD5散列或任何东西。这是他们自己的哈希算法。他们没有理由将youtube私有化;为此,他们有其他方法。你在上面看到的是一个“散列”,它被插入到他们的数据检索算法中。这种方式使它看起来更好,更“随意”。当你有索引增量时,它看起来很松散;你输入300,你会发现上传到该网站的第300个视频。

YouTube的反向工程有些离题。我建议你重新表述你的问题,把重点放在你想要实现的目标上,并把YouTube作为一个成功的例子。或者你使用与YouTube完全相同的技术来获得该结果有关系吗?我想获得的URL可能重复,但人们使用简单的解密程序无法解密,因此我可以获得带有视频的URL,人们只有知道URL才能看到,因为他们不会出现在搜索结果上。如果我使用64位编码,人们可以对任何身份证号码进行编码并试用。因此,如果我编码视频id 123和124是私有的,他们所要做的就是编码124并查看私有视频。在youtube上,我无法解码,所以我不知道他们第124个视频的url。散列部分我理解,但我害怕说像hd123这样的hd(id)将是像sd420这样的sd(id)的副本。我担心hd123和sd420的值是H5nrW,因为它们的计算结果会相加。或者如果我加上两个散列,比如基数123+基数320,就会得到G30j0f,是什么让我确定没有一个值,比如基数4120481028,会得到相同的结果?希望我能清楚地传达我的信息/问题。散列部分我理解,但我害怕说像hd123这样的hd(id)将是像sd420这样的sd(id)的副本。我担心hd123和sd420的值是H5nrW,因为它们的计算结果会相加。或者如果我加上两个散列,比如基数123+基数320,就会得到G30j0f,是什么让我确定没有一个值,比如基数4120481028,会得到相同的结果?希望我能清楚地传达我的信息/问题。散列算法(如MD5或SHA)的设计使每个字符串都能产生唯一的散列,而该散列不能反转回源字符串。例如,使用md5散列,您会得到以下结果:“1”=c4ca4238a0b923820dcc509a6f75849b“2”=c81e728d9d4c2f636f067f89cc14862c每个字符串都是唯一的——看看源和输出之间似乎没有关联?为了回答最初的问题,YouTube正在做类似的事情。