可以存在多少个唯一的jsbin-urlshortcode组合

How many unique jsbin url shortcode combinations can exist?

本文关键字:jsbin-urlshortcode 组合 唯一 存在 多少      更新时间:2023-09-26

这是jsbin的函数,用于生成每个bin的标识短代码:

function shortcode() {
    var vowels = 'aeiou',
        consonants = 'bcdfghjklmnpqrstvwxyz',
        word = '', length = 6, index = 0, set;
    for (; index < length; index += 1) {
        set = (index % 2 === 0) ? vowels : consonants;
        word += set[Math.floor(Math.random() * set.length)];
    }
    return word;
}

它能产生多少种不同的组合?如果我计算得很好,当使用26个字母(a-z)中的6个字母时,有3.08915776e+8个组合。但是这将如何计算,因为有5组(元音)和21组(辅音)交替产生可记忆的短代码,如"ecamit"、"izafij"、"erowih"、"avimog"等。

会是(5x21)^3=121550625吗?

最近更新了shortcode方法,因为我们经常遇到重复项,事实上,您看到的代码版本也在末尾添加了数字以增加,这迫使它们变得唯一。

相信仅基于此代码(上面的代码,而不是jsbin的生产代码库中的代码)的变体数量为:1157625(5*21*5*21*5]21)-这真的不多。

简单的方法来自我的旧密码生成器:http://remysharp.com/2008/04/14/pronounceablely-random/-但最近我不得不在jsbin的生产中更改它。

现在,它不断在数据库中的每个阳性点击上添加字符,但字母也是大写重复的,所以现在url组合的范围要高得多。