1

顧客がアカウントのステータス情報をオンラインで表示できる Web サイトを作成する必要があります。顧客の Web サイト アカウントを作成する手間を省くために、アカウント番号とアクセス コードを使用してログオンするだけで済むようにしたいと考えています。口座番号からアクセス コードを生成することを希望します。郵送される明細書にコードを記載します。

8 桁の数字のアカウント番号からこのアクセス コードを生成するための適切な数式/関数/方法は何ですか? 結果は数値または英字になる可能性がありますが、10 文字を超えることは望ましくありません。ステートメントを印刷するときに Crystal Reports 式を介してコードを生成できるように、数学をかなり単純にしたいと思います。これは機密情報ではないため、防弾セキュリティを探しているわけではありません。誰かがアカウント番号をランダムに入力するのを防ぎたいだけです.

4

1 に答える 1

0

私なら、口座番号を 2 つに分割し (剰余算術を使用)、その 2 つの部分に対して簡単な計算を行って認証コードを導き出します。

例えば:

I'm assuming account number is atleast 10000, if they start at 00000001, then you will have to add a step to multiply it by 10,000 (which will result in larger auth codes for the bigger account numbers) or reduce the modulus size

Let A = account number

A mod 10,000 = X

(A - X) / 10,000 = Y

AuthCode = (X + 51) * (Y + 89)

口座番号が 18654848 の場合:

18654848 % 10000 = 4848

(18654848 - 4848) / 10000 = 1865

(4848 + 51) * (1865 + 89) = 4899 * 1954

= 9572646

次に、ユーザーがログインを試みたときに同じ計算を実行し、認証コードとその番号が一致するかどうかを確認します。

これにより、認証コードが 103538 ~ 101384400 の範囲になります。

于 2012-05-31T19:44:27.537 に答える