1

注文のテーブルがあり、ユーザーに注文の一意のコードを提供したいのですが、作成された注文の数を教えたくないため、増分 ID 整数の主キーを非表示にします。

コードが一意であることを確認する簡単な方法の 1 つは、主キーを使用してコードを特定することです。

では、整数を使いやすい、たとえば 8 つの英数字コードに変換して、すべてのコードが一意になるようにするにはどうすればよいでしょうか?

4

5 に答える 5

0

これにはMD5を使用します。MD5 は、顧客の注文を表す整数の小さなサブセットに対して十分な「一意性」を提供します。

例については、この回答を参照してください。入力パラメーターを string から int に調整する必要があります (またはToString、番号を呼び出してコードをそのまま使用するだけです)。

于 2013-08-27T18:44:49.877 に答える
0

作成される注文の総数がプール内の識別子の総数に近づかないと仮定すると、合理的に効果的な手法は、単純にランダムな識別子を生成し、それが既に使用されているかどうかを確認することです。以前に使用されていない識別子が見つかるまで、新しい識別子を生成し続けます。

于 2013-08-27T19:43:21.153 に答える