利用Python判断你的密码难度等级

作者:算法与编程之美 时间:2021-04-10 20:46:08 

前言

密码是个很私密的东西它一直关联着一系列的机密事物,二战中密码起了很大的作用。在我们生活中尤其是现在我们手机上存在着许多的app是我们生活不可或缺的,在登陆账号时我们是少不了输入密码这一环节,虽然有许多的app可用通过短信验证或者其他方式登录,但是密码可以是其他人来登录你账号的重要途径,密码越难账号越不会被盗。有一个难度系数高的密码是很重要的。

问题描述

我们知道密码我们现在是不可或缺且重要的一样事物。在设立密码时大多都会提醒密码的难度等级有的必须达到一定的等级才可以被使用。我们知道密码是可以由数字符号大写或小写字母组成一段有长度的字符串,那么是否存在这些要数就决定了自己密码的难度等级,当长度达到一定程度是又会获得难度等级的提升。

示例:

输入:5201314cS.

输出:密码等级为5

解决方案

要解决这个问题我们只需要判断所设密码中存不存在数字,符号,小写字母,大写字母,密码长度达未达到可以获得密码等级的长度。

代码清单 了解自己密码难度等级代码


def level():
    def number(password):  # 判断数字
        number = False
        for c in password:
            if c.isnumeric():
                number = True
                break
        return number
    def islower(password):  # 小写
        islower = False
        for c in password:
            if c.islower():
                islower = True
                break
        return islower
    def isupper(password):  # 大写
        isupper = False
        for c in password:
            if c.isupper():
                isupper = True
                break
        return isupper
    def string(password):  # 标点
        str=(',.:;*@$%^&!')
        string = False
        for c in password:
            if c in str:
                string = True
                break
        return string
    password = input('请输入密码:')
    # 密码强度,初始化为0
    strength_level = 0
    a=len(password)//6
    strength_level += a
    if number(password):
        strength_level += 1
    if islower(password):
        strength_level += 1
    if isupper(password):
        strength_level += 1
    if str(password):
        strength_level += 1
        print("您的密码强度为{}".format(strength_level))
print(level())

结语

问题简单但是关系到大家重要东西的安全性,而且密码也不要一成不变,是不是得去修改自己的密码可以使账号更安全。

问题是解决了但是自我感觉代码可以再简单点又不知道该如何改。

来源:https://blog.csdn.net/gschen_cn/article/details/117408509

标签:python,密码,强度
0
投稿

猜你喜欢

  • PHP字符编码问题之GB2312 VS UTF-8解决方法

    2024-04-29 13:57:28
  • pytorch模型存储的2种实现方法

    2023-10-06 11:37:24
  • JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决

    2023-09-23 19:39:47
  • 解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思

    2023-11-06 13:11:37
  • laravel yajra插件 datatable的使用详解

    2023-11-18 20:05:06
  • python实现指定字符串补全空格、前面填充0的方法

    2022-04-06 21:13:58
  • asp.net gridview 72般绝技

    2024-03-08 18:34:10
  • Python Matplotlib条形图之垂直条形图和水平条形图详解

    2022-07-24 04:07:45
  • python实现超市管理系统(后台管理)

    2022-08-17 06:50:22
  • 详解PyCharm+QTDesigner+PyUIC使用教程

    2022-09-24 07:56:20
  • MySQL主从搭建(多主一从)的实现思路与步骤

    2024-01-18 01:14:02
  • Python实战之自动发送邮件的实现

    2023-10-18 15:09:43
  • Vue中添加手机验证码组件功能操作方法

    2023-07-02 16:57:16
  • python smtplib发送带附件邮件小程序

    2023-03-24 17:14:26
  • idea+git合并分支解决冲突及详解步骤

    2022-10-07 00:18:27
  • MySQL下使用Inplace和Online方式创建索引的教程

    2024-01-18 11:28:18
  • Tensorflow加载模型实现图像分类识别流程详解

    2023-12-22 02:31:13
  • pycharm配置Qt Designer工具的图文教程

    2021-02-10 05:56:40
  • Pytorch模型迁移和迁移学习,导入部分模型参数的操作

    2021-08-05 09:18:16
  • 如何使用myisamchk和mysqlcheck工具快速修复损坏的MySQL数据库文件

    2024-01-21 12:39:37
  • asp之家 网络编程 m.aspxhome.com