私は確かにそのためにランダムジェネレータを使用することはできません。現在、unixtime()+ microtime()からCRC32ハッシュを作成しています。
time()+ microtime()をハッシュするよりも賢い方法はありますか?
結果には完全には満足していませんが、もっとランダムになると思っていましたが、MicroTime()の呼び出しを追加するまでは強いパターンが見られますが、速度が大幅に低下するため、いくつか探しています。これを行うための最適な方法。
このばかげたコードは、これまでに作成できる最高の出力を生成します。計算が必要であるか、出力にいくつかのパターンが見られました。
starthash(crc32);
addtohash(crc32, MicroTime());
addtohash(crc32, time(NULL)); // 64bit
addtohash(crc32, MicroTime()/13.37f);
addtohash(crc32, (10.0f-MicroTime())*1337.0f);
addtohash(crc32, (11130.0f-MicroTime())/1313137.0f);
endhash(crc32);
MicroTime()は、プログラムの開始から経過したマイクロ秒を返します。addtohash()をすべての可能なタイプにオーバーロードしました。
私はむしろライブラリ以外のソリューションを採用したいと思います。おそらくとにかく10行程度のコードです。実際にはそれほど必要ないものがあるため、巨大なライブラリをインストールしたくありません。コードよりもコードに興味があります。関数呼び出しから使用するだけです。