評価用のパスワードを作成するためにパスワード作成者を作成しようとしましたが、必要なことの 1 つは、パスワードに少なくとも 2 つの数字が含まれていない場合、少なくとも 2 つの数字を含むパスワードを要求するエラーを出力することです。数字。これを行う方法がわかりません。コードでこれを行う方法について少しヒントをいただけないかと思っていました。
前もって感謝します
評価用のパスワードを作成するためにパスワード作成者を作成しようとしましたが、必要なことの 1 つは、パスワードに少なくとも 2 つの数字が含まれていない場合、少なくとも 2 つの数字を含むパスワードを要求するエラーを出力することです。数字。これを行う方法がわかりません。コードでこれを行う方法について少しヒントをいただけないかと思っていました。
前もって感謝します
正規表現を試すことができます:
import re
passw = 'hell1owo2rld'
if re.match('.*[0-9].*[0-9].*', passw):
print 'Password is ok'
else
print 'Please use at least two numbers'
文字列メソッド、リスト内包表記、および を使用してこれを行うことができますlen
。
if len([x for x in your_password_variable if x.isdigit()]) >= 2:
print "OK"
else:
print "You need at least 2 numbers"
問題が実際に新しいパスワードを作成することである場合は、その方法を説明しますが、コードはありません。
random.SystemRandom()
安全なパスワードが必要な場合は、 を使用してください。
最初に、許可された文字セットから N 文字を作成します。ここで、N はパスワードの長さです。次に、少なくとも 2 桁があるかどうかを確認します。2 桁未満の文字がある場合は、1 つまたは 2 つの非数字文字を削除し、ランダムな数字を追加して、少なくとも 2 桁の数字が存在するようにします。最後に を使用しshuffle()
てパスワードを変更します。そうすれば、パスワードのエントロピーが最大になります。