ブラウザでサイコロ🎲
(Let's play dice on your browser.)
使い方
- 「サイコロを振る」ボタンを押します。(Push "play dice" button)
(ランダムになるように、一回ずつ気を込めて押しましょう。)
- 結果が出ます。(and you can see the result.)
それではどうぞ(Here you are.)
↓結果と履歴
6面サイコロ
(⚀⚁⚂⚃⚄⚅)
16進数(バイナリ)を基にBase64変換
(Base64)
16進数(バイナリ)を基にBase64url変換(+が-に、/が_になっています)
(Base64url)
設定(Setting)
6面サイコロを絵文字表記にしない(Use numerical character.)
6面サイコロの履歴も末尾に追加する(Add dice result on tail.)
16進数を小文字表記にする(Use lower case letter.)
説明
パスワードをランダムに決めたいときって結構あると思います。…私だけでしょうか。
performance.now()を利用して、このページへ移ってきた時刻からの経過時間を種にし、ハッシュ関数をフィードバックさせつつ通した結果を、6、10、16で割った余りを表示します。
ゲームをするときや、一時的に使うパスワードや長大なパスワードを生成したいとき、乱数表を作るとき、何かを決めないといけないとき、運勢を占いたいときなどにお使いください。
パスワード用にはBase64表記のものでお好きなほうをお使いください。
JavaScriptを使用しています。
なお、本ページの機能を利用したことに起因する一切の事象につきまして無保証とさせていただきます。
変更履歴
- 2017/6/26 作成
- 2018/1/28 本ページに移ってきてからの経過時間[ms]÷7の床をさらに6,10,16で割った余りを用いて結果を出していましたが、
連打した時の結果が怪しかったため、経過時間[ms]×53の床のLSB側16bit分を、16ビットハッシュ関数に通してから6,10,16で割った余りを用いるように変更しました。
また、2回目以降の生成では、前回のハッシュ結果をXORしてからハッシュ関数に入力するようにしました。
私が1000回ポチポチした結果、10進乱数の[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]の出現数はそれぞれ[111, 102, 86, 98, 101, 109, 104, 94, 90, 105](Chrome 64)でした。
カイ二乗検定結果は、帰無仮説「この結果は一様分布から得られたものである」が5パーセントの危険率をとっても否定はされず、まあこれでいいかな、というところです。
私の環境(Windows10)のChrome 64は、performance.now()の分解能が約1msっぽいです。
動作確認
- Google Chrome 64.0.3282.119 (64-bit)
- Edge 41.16299.15.0