Python 判断密码等级的强弱,不使用正则表达式

转载请标明出处:
http://blog.csdn.net/DJY1992/article/details/72845025
本文出自:【奥特曼超人的博客】



编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,包含两种为中低安全密码,包含三种为中高安全密码,包含四种则为强密码。

老师说,不许使用正则表达式哦

大家可以在群里讨论,或者直接把你的答案写在评论里哦~

题目地址:http://blog.csdn.net/baiyuzhong2012/article/details/72841797



这里留下我的答案:

#舍弃了
def pwdType(str):

        """
           if(str.isupper()|str.istitle()|str.isalnum()):
                #所有单词都是首字母大写
                if(str.istitle()):
                #所有字符都是大写
                if(str.isupper()):
                #所有字符都是小写
                if(str.islower()):
                #所有字符都是数字
                if(str.isdigit()):
                # 所有字符都是字母
                if(str.isalpha()):
                #所有字符都是数字或者字母
                if(str.isalnum()):
        """

        return 

#拆分矩阵查询
def isPwdLevel(strs):
        #模拟底层
        special = ['!','@','#','$','%','^','&','*','(',')','-','_','+','=','{','}',';',':','[',']',';',':','\"','\\','|',',','<','.','>','/','?','~','`']
        engUpper = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
        engLower = ['a','b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
        engNums = ['0','1','2','3','4','5','6','7','8','9']
        abc = list(strs)
        flag = 0
        flagSp = 0
        flagUp = 0
        flagLo = 0
        flagNu = 0
        for i in abc:
            for k in special:
                if(i==k):
                    print("包含特殊字符")
                    flagSp = 1
            for k in engLower:
                if(i==k):
                    print("包含小写字母")
                    flagUp = 1
            for k in engUpper:
                if(i==k):
                    print("包含大写字母")
                    flagLo = 1
            for k in engNums:
                if(i==k):
                    print("包含数字")
                    flagNu = 1

        #编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。
        #如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,
        #包含两种为中低安全密码
        #包含三种为中高安全密码
        #包含四种则为强密码。
        flag = (flagSp+flagNu+flagLo+flagUp)

        return flag

这样写方便操作元素,在Main方法里面调用一下就完成了。


if __name__=="__main__":

    #pwd = "Ab4##\""
    pwd = "Karl-Dujinyang-309933706@qq.com"
    ret = isPwdLevel(pwd)
    vat = isinstance(ret, int)

    print(ret)
    if(vat == True):
        if(ret == 4):
            print("-强密码-")
        elif(ret == 3):
            print("-中高安全密码-")
        elif(ret == 2):
            print("-中低安全密码-")
        elif(ret == 1):
            print("-弱密码-")

运行效果:

(如有 错误或者更优方法欢迎指出)

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

时间: 2024-10-27 17:14:29

Python 判断密码等级的强弱,不使用正则表达式的相关文章

使用正则表达式判断密码强弱

学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直接上实战,在实战中精炼理论.不多说直接先上代码 def password_level(password): weak = re.compile(r'^((\d+)|([A-Za-z]+)|(\W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(\W+|\_+|[A-Za-z]+))+|

android-安卓智能判断密码框密码强度(求解)

问题描述 安卓智能判断密码框密码强度(求解) 智能判断密码框密码强度 求解 求条件.想法.正则表达式最好 下面附图 解决方案 密码强度判断判断密码强度判断密码强度 解决方案二: 判断一下密码的构成,根据密码的构成方式 进行强弱等级的判断 解决方案三: 实时检查输入,判断是否符合某一项预设的密码强度条件,符合就设置标记,然后综合已经设置的标记,显示当前的强度信息 解决方案四: textview内容变化时检查,可以从下面几个方面考虑:1.字符数.2.字母,数字,特殊符号有没有(可以转换成ascii编

Js判断密码强度并显示提示信息

  用javascipt实现的Ajax判断密码强弱的功能,大多数有用户注册功能的网站,都会有这么一个功能,作为WEB程序员,应该会写这种小模块哦,不懂的就看下这个例子,觉得挺简单,当初帮助了不少人学会了密码强度的检测. 表单部分,用来显示密码框和密码强度提示信息:   JavaScript部分,比较主要,在此判断密码强度,这里一共用了四个自定义函数分别实现密码字符串的类型判断.模式统计.返回密码强度级别.根据密码框失去焦点来显示不同的颜色,以警示密码强度值,具体代码:     这两段代码可以合成

PHP判断密码安全等级程序

密码安全原理   0:低,1:中,2:高三个级别,千万不要用百分比具体就不说,强度我们从最简单的纯数字到数字英文及最高级的数字英文及特殊字符   代码如下 /**  * 获取密码安全等级  * @param string $password 密码  * @return int 0:低,1:中,2:高 */ function password_level($password){     if(preg_match('/^([0-9]{6,16})$/',$password)){         r

JS实现至少包含字母、大小写数字、字符的密码等级的两种方法_javascript技巧

本文实例讲述了JS实现至少包含字母.大小写数字.字符的密码等级的两种方法.分享给大家供大家参考.具体如下: 前言 密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母.数字.字符3选2,区分大小写.对于设置得太简单的密码,予以错误提示.或者予以密码等级(低中高)显示,让用户设置高级密码.那如何利用JS实现呢? 实现代码如下: function passwordLevel(password) { var Modes = 0; for (i = 0; i <

Python判断某个用户对某个文件的权限_python

在Python我们要判断一个文件对当前用户有没有读.写.执行权限,我们通常可以使用os.access函数来实现,比如: # 判断读权限 os.access(<my file>, os.R_OK) # 判断写权限 os.access(<my file>, os.W_OK) # 判断执行权限 os.access(<my file>, os.X_OK) # 判断读.写.执行权限 os.access(<my file>, os.R_OK | os.W_OK | os

python判断字符串是否包含子字符串的方法

 这篇文章主要介绍了python判断字符串是否包含子字符串的方法,实例分析了Python中的in与find方法来实现这一功能,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了python判断字符串是否包含子字符串的方法.分享给大家供大家参考.具体如下: python的string对象没有contains方法,不用使用string.contains的方法判断是否包含子字符串,但是python有更简单的方法来替换contains函数. 方法1:使用 in 方法实现contains的功能

js 正则之 判断密码类型

今天没啥写的,就分享个思路吧. 之前在群里讨论的时候,谢亮兄弟说判断密码是否是纯数字,纯字母之类的. 如果用 if 或者 switch 写看着确实蛋疼,如果有 7, 8 条判断,那就老长一大段了. 这个思路是我之前看 jQuery 源码的时候学到的,感觉用在这也不错. 先来看代码吧. function test(str, re, msg) {     var ret = str.match(re /^(\d+)$^([a-zA-Z]+)$^([a-zA-Z].+)$^([0-9a-zA-Z]+)

python判断一个集合是否包含了另外一个集合中所有项的方法

  本文实例讲述了python判断一个集合是否包含了另外一个集合中所有项的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 >>> L1 = [1, 2, 3, 3] >>> L2 = [1, 2, 3, 4] >>> set(L1).difference(L2) set([ ]) >>> set(L2).difference(L1) set([4]) 希望本文所述对大家的Python程序设计有所帮助.