验证和加密Python中的密码程序



我花了很多时间写这个程序来验证和加密密码。

我从一个框架程序开始,并在它的基础上进行构建。我真的需要别人看看我哪里做错了。

输出应该验证密码并对其进行加密。谢谢你的帮助!

def password_check(password):
#password should contain at least 8 characters
def length_test(password):
if len(password) >=8:
return true
else:
return false
#validating uppercase letter in password
def uppercase_test(password):
if i.isupper(password):
return true
else:
return false
#validating lowercase letters in password
def lowercase_test(password):
if i.islower(password):
return true
else:
return false
#validating number in password
def digit_test(password):
if i.isdigit(password):
return true
else:
return false
#validating special character in password
def special_character_test(password):
if special_char(password):
specical_char = ["$", "@", "#", "%", "*"]
return true
else:
return false
def encrypt(password):
encrypted_character = + 1
encrypted_character = - 1
print (ord("A")) # prints the ASCII value of "A"
print(chr(66)) # print "B" based on value of ASCII code 66
def main ():
password_check(password)

if __name__ == "__main__":
main()
user_input = input("Enter desired password:")
print

第一:我不知道这里是否适合回答你的问题。
也许在类似的门户网站CodeReview上询问会更好


你有很多错误。

必须是True/False而不是true/false

你有错误的缩进(如果你想函数_testpassword_check())或你有空函数password_check()

你定义了函数..._test,但你没有在password_check()中执行它们

你有变量i,但你从未创建它-所以你应该得到错误信息。

你应该使用for-loop来分别处理每个字符——就像

def uppercase_test(password):
for char in password:
if char.isupper():
return True  # return `True` after finding first upper char

return False  # return `False` after checking all chars 

我不知道你想如何加密密码,所以我跳过这部分。

# password should contain at least 8 characters  # PEP8: one space after `#`
def length_test(password):
#if len(password) >= 8:
#    return True
#else:
#    return False
# shorter because `>=` gives `True` or `False`

return (len(password) >= 8)
# validating uppercase letter in password  # PEP8: one space after `#`
def uppercase_test(password):
for char in password:
if char.isupper():
return True

return False
# validating lowercase letters in password  # PEP8: one space after `#`
def lowercase_test(password):
for char in password:
if char.islower():
return True
return False
# validating number in password  # PEP8: one space after `#`
def digit_test(password):
for char in password:
if char.isdigit():
return True
return False
# validating special character in password  # PEP8: one space after `#`
def special_character_test(password):
for char in password:
if char in ("$", "@", "#", "%", "*"):
return True
return False
# ----------------------------
def password_check(password):
if not length_test(password):
return False
if not uppercase_test(password):
return False
if not lowercase_test(password):
return False
if not digit_test(password):
return False
if not special_character_test(password):
return False
return True
# ----------------------------

def encrypt(password):
# ??? # I have no idea what you want to do
encrypted_character = + 1
encrypted_character = - 1

# ----------------------------

def main ():
user_input = input("Enter desired password:")
result = password_check(user_input)
print('Test result:', result)

if result:  # if result is True:
encrypt(user_input)

# ----------------------------
if __name__ == "__main__":
main()

最新更新