随机生成的字符串,可能等于?

Fra*_*sco 1 php

给定一个生成随机生成的12个字符的字符串的脚本,两个字符串相等的可能性有多少?

function rand_string( $length ) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";  

    $size = strlen( $chars );
    for( $i = 0; $i < $length; $i++ ) {
        $str .= $chars[ rand( 0, $size - 1 ) ];
    }

    return $str;
}
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 5

假设,A-Za-z0-9有62个可能的字符值.因此,有62 ^ 12(对于权力)可能的字符串.这大约是3x10 ^ 21(3个,有21个零).

假设一个完美的随机数生成器,那就是任何两个特定字符串相等的3x10 ^ 21的机会.

  • 从一个电话到下一个,肯定.超过2次通话每次都会带来更高的机会. (3认同)
  • @zerkms:在某处发现碰撞的概率更高*.显然,相邻对之间的概率保持不变. (3认同)