私は固有IDを生成する必要のあるアプリケーションを作成しています。javascriptで固有のBase-64 IDを生成する
IDを生成する際には、衝突を避けるための最良の方法は、単にブルートフォースを生成してからチェックすることですか、独自の生成をガーナンシーする方法です。
私はブルートフォース方式がしばらくはうまくいくと確信していますが、Googleのような企業はこの方法を使用していないと感じています。
他にもnode.jsで実際に生成する方法があります。
私が「0から63」からint型のを生成すると考えると、このように、ベース64にパース:
var map = {
0:0, 1:1 ... 16:"Q" ... 63:"/"
}; /* I used object so you can see the indexes,
this would be an array - or even a string? */
for (var i = IDLENGTH, id=""; i--;) id+=map[~~(Math.random*64)];
しかしこれは、特に最初の場所でmap
を持つ、inneficientです。
私はSOより多くの意味を作るようですが、これは私が必要なものを合わせていないようです
console.log(new Buffer("Hello World").toString('base64'));
> SGVsbG8gV29ybGQ=
を投稿し、文字セットのこの変換ではないでしょうか?他のコードのこのpeiceを見ましたか
UUIDを生成し、それをbase64に変換します。 –
カウンタを使用してbase64エンコードしますか? – sh1