1000 個のパスワードを作成してユーザーに渡したくありません。パスワードには 6 桁が含まれています。ランダムな 6 桁のように見えます。
ユーザーが来ると、このパスワード以外に情報がなく、検証したい。
データベースを調べてこのパスワードを探すことはできますが、この操作の難易度を O(N) から O(1) (N はパスワードの数) に減らしたいと考えています。
それらをチェックする簡単な方法で 1000 の「ランダムな」パスワードを生成する方法はありますか?
UPD: 現在、暗号化を考えています。たとえば (Python)
key = 'top_secret'
N = 1000
passwords = [encrypt(i, key) for i in range(N)]
def check(s):
try:
return int(decrypt(s, key))<1000
except ValueError:
return False
しかし、これはもっと良い解決策があると思います
UPD2: 3 桁と 6 桁は単なる例です。それらは64桁と128桁の場合があります