一意の増分数とランダムに生成された数の連結を使用します。
一意の増分番号により、結果が一意になり、ランダムに生成された数値により推測が困難になります。
これはシンプルです 衝突なしであることが保証されています (1)。結果はインクリメンタルです 、部分的にランダムで、予測不可能 (乱数部分が適切なPRNGで生成されている場合)
(1):id
のいずれかを埋める必要があります およびrandom
ゼロを使用するか、数字以外の文字で区切ります。
MySQLデータベースでは、これは次のように変換されます。
CREATE TABLE foo (
id int not null auto_increment,
random int not null,
...
primary key (id)
);