当我们打开一个YouTube视频中,我们看到,在URL一些随机字符如https://www.youtube.com/watch?v=cpp69ghR1IM
。
是否有此作业的算法或者它仅仅是创建如果在数据库或不随机字符串和检查?由于YouTube拥有视频数额巨大,也不会如此浪费时间来检查的这种独特性产生的随机字符串?
另外,为什么YouTube的犯规利用它通过视频标题产生更好的蛞蝓?例如:https://www.youtube.com/watch/Some-Dummy-Video-Title
提前致谢。
11个字符的base64字符串就是一个编码的长整数。
很难确切知道,但我怀疑的是,他们开始用序列号,并使用类似的乘法逆我https://stackoverflow.com/a/34420445/56778描述的东西混淆了。然后,他们Base64编码的结果。
如需更详细的治疗,见我的博客文章,http://blog.mischel.com/2017/06/20/how-to-generate-random-looking-keys/。
至于他们为什么不使用更好看,蛞蝓,你应该去问他们。一些可能性,我想出了副手。
你可以看看他们是如何做到这一点的hashids。这是产生短的,独特的,非顺序从数字ID的库。它在许多不同的编程语言实现。