Pythonはパスワード強度検証を実装します

この記事の例では、参照用のパスワード強度検証を実装するためのpythonの特定のコードを共有しています。具体的な内容は次のとおりです。

1つの検証ルール

ルール1パスワードの長さが8文字を超える

ルール2パスワードには数字が含まれている必要があります

ルール3パスワードには大文字と小文字が含まれている必要があります

規則4パスワードには特殊文字['+'、 '-'、 '*'、 '/'、 '_'、 '&'、 '%'、 '、']を含める必要があります

ルール5検証が5回失敗した場合、強制的に終了します

2つのファイル操作

入力した各パスワードはテキストファイルに保存されます

以下は、pythonコードの実装です。

"""
著者:zhengzhihui
バージョン:7.0
日付:2019/7/13
機能:パスワードの強度を決定する
2.0 機能:ループして終了
3.0 機能:パスワードをテキストに保存する
4.0 機能:ファイルの読み取り、ファイルのトラバース
5.0 機能:PasswordToolクラスを定義します
6.0 機能:FileToolクラスを定義します
7.0 機能:パスワードに大文字と小文字、および特殊文字を追加します['+','-','*','/','_','&','%',',']"""
import time as tm
classFileTool():"""
ファイルツール
"""
def __init__(self, filepath):
self.filepath = filepath
def write_to_file(self, content):withopen(self.filepath,'a')as f:
f.write(content)
def read_from_file(self):withopen(self.filepath,'r')as f:
content = f.readlines()return content
classPasswordTool():"""
パスワードツール
"""
def __init__(self, password):
self.password = password
self.strength_level =0
def check_number_exist(self):"""
数字が含まれているかどうかを確認します
"""
has_number = False
for c in self.password:if c.isnumeric():
has_number = True
breakreturn has_number
def check_letter_exist(self):"""
文字が含まれているかどうかを確認する
"""
has_upper_letter = False
has_lower_letter = False
for c in self.password:if c.isupper():
has_upper_letter = True
elif c.islower():
has_lower_letter = True
has_both_letter = has_upper_letter and has_lower_letter
if has_both_letter:breakreturn has_both_letter
def check_specialchar_exist(self):"""
特殊文字が含まれているかどうかを確認します
"""
has_specialchar = False
specialchar_list =['+','-','*','/','_','&','%',',']for c in self.password:if c in specialchar_list:
has_specialchar = True
breakreturn has_specialchar
def process_password(self):"""
ルールを満たしているかどうかを判断する
"""
# ルール1:少なくとも8ビットの長さ
iflen(self.password)=8:
self.strength_level +=1else:print('パスワードの長さは8文字以上です')
# ルール2:数字を含める必要があります
if self.check_number_exist():
self.strength_level +=1else:print('パスワードには数字を含める必要があります')
# ルール3:大文字と小文字を含める必要があります
if self.check_letter_exist():
self.strength_level +=1else:print('パスワードには大文字と小文字を含める必要があります')
# ルール4:特別なキャラクターを含める必要があります
if self.check_specialchar_exist():
self.strength_level +=1else:print('パスワードには少なくとも1つの特殊文字が含まれている必要があります("+,-,*,/,_")')
def main():"""
メイン機能
"""
try_times =5
pwd_strength_dict ={0:'弱い',1:'弱いい',2:'に',3:'強い',4:'超強い'}
myfile =FileTool("password_7.0.txt")while try_times   0:
password =input('パスワードを入力してください: ')
mypwdtool =PasswordTool(password)
mypwdtool.process_password()
now_time = tm.strftime("%Y-%m-%d %H:%M:%S", tm.localtime())
myfile.write_to_file("日付:{}パスワード:{}力:{}{}\n".format(now_time, password,
mypwdtool.strength_level, pwd_strength_dict[mypwdtool.strength_level]))if mypwdtool.strength_level  =4:print('おめでとう!パスワード修飾')breakelse:print('修飾されていないパスワード')
try_times -=1print()if try_times <=0:print('試行回数が多すぎて、パスワード設定に失敗しました!')
content = myfile.read_from_file()print(content)if __name__ =="__main__":main()

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

Pythonはパスワード強度検証を実装します
Pythonはユーザー名とパスワードの検証を実装しています
Pythonは検証コード認識を実装します
Pythonはスーパーマリオを実装しています
Pythonはtic-tac-toeゲームを実装しています
Pythonはtic-tac-toeゲームを実装しています
Pythonはマンマシンゴバンを実装します
PythonはTetrisゲームを実装しています
Pythonは画像スティッチングを実装しています
Pythonはminesweeperゲームを実装しています
Pythonはスキャンツールを実装しています
Pythonはしきい値回帰を実装します
Pythonは地雷除去ゲームを実装しています
Pythonは電子辞書を実装しています
Pythonは推測ゲームを実装しています
Pythonは単純なタンクバトルを実装します
Pythonはudpチャットウィンドウを実装します
PythonはWeChat飛行機ゲームを実装しています
Pythonは単語推測ゲームを実装しています
Pythonは推測ゲームを実装しています
Pythonは駐車場管理システムを実現
Pythonはデジタル爆弾ゲームを実装しています
PythonはTCPファイル転送を実装します
OpenCVPythonはパズルゲームを実装しています
Pythonは単純なtic-tac-toeゲームを実装しています
Pythonは車の管理システムを実装しています
Pythonはコードブロックフォールディングを実装します
Pythonはパノラマ画像スティッチングを実装しています
PythonはSMTPメール送信を実装します
Pythonは多次元配列ソートを実装しています
PythonがFTP機能を実装する方法
Pythonは平均シフトクラスタリングアルゴリズムを実装しています
Pythonは勾配降下法を実装しています
Pythonはテキストバージョンのminesweeperを実装しています
Pythonは画像スティッチング機能を実装しています
Pythonは実店舗のゲームを実装しています
Pythonは学生のパフォーマンス評価システムを実装しています
Pythonがメール機能を実装する方法
Pythonは単にスネークゲームを実装します
Python3はシングルトンデザインパターンを実装しています
Pythonは為替レート変換操作を実装します
Pythonは文字列と数値のスプライシングを実装します
PythonはユニバーサルWebフレームワークを実装しています
Pythonは、メールを送信するために126のメールボックスを実装しています
PythonはAIフェイスチェンジ機能を実装しています
Pythonは最も急な降下方法を実装します
Pythonは実際の銀行システムを実装しています
Pythonはデジタル爆弾ゲームプログラムを実装しています
Pythonはftpファイル転送機能を実装しています
Pythonがタイマー機能を実装する方法
Pythonは航空機戦争プロジェクトを実装します
Pythonは写真の水平ステッチを実装しています
PythonはGIFグラフを逆さまに実装します
Python検証コード傍受識別コードの例