heidern0612 发表于 2018-11-16 20:17:37

【Pyhon 014讲心得体会】【密码安全性检测】

本帖最后由 heidern0612 于 2018-12-17 09:50 编辑

写的内容都是自我思考的过程,难免有疏漏,有错误的地方欢迎广大鱼油给予指正!


1、字符串。

老师给讲了个有趣的例子,利用字符串隐藏密码,挺好玩的。如果字符串长一些,步进长一些,全篇再都是字母的话,能做出来密码的效果。


2、密码安全性检查。

我分析下小甲鱼老师的思路,就不做多解释了,基本大家都能看懂。

1、先做特征库。

2、立2个flag ,一个flag用来检查密码长度,一个flag用来检查是否在特征库内。

3、两个flag值都最低的时候,判断密码等级低,两个flag最高的时候,判定密码等级高,剩余的就是中。

4、字符串必须字母开头,可以用str进行判断。



自我思考,对于这种小型的工程,最好是先想好怎么做,再下手,可以学老师的思维图。

我做这种题主要的判定就是何时while有效,何时while无效。虽然达不到老师那样的标准,但是我觉得我这么想应该方向是对的。

我是如下想的:

1、判断长度,立flag,1到3等级;

2、组合判断,立flag,1到3等级;

3、判断首字母,立flag,0到1等级。

4、        如果三个flag相加达到7,级别最高;

        如果三个flag相加小于4,级别最低;

        else: 级别中。

贴上自己的代码:

#coding=gbk
guess = input('请输入你的密码:')
strnum = '0123456789'
str_zimu='qwertyuiopasdfghjklzxcvbnmQWERTYUIOP@ASDFGHJKLZXCVBNM'
str_sym =r'''!#


"%&()=~|{}`*+?><,./'''
x = 0

#长度判断
if len(guess) <= 8:
    x = 1
if 16 > len(guess) > 8:
    x = 2
if len(guess) > 16:
    x = 3


#组合判断
y = 0
for i in guess:
    if i in strnum:
       y = 1
       break
for i in guess:
    if i in str_zimu:
      y += 1
      break
for i in guess:
    if i in str_sym:
      y += 1
      break

      
#字母判断
z = 0
if guess.isalpha():
    z = 1
   

# flag相加判断
if x+y+z == 7:
    print('您的密码',guess,'安全系数最高')
elif x + y+z < 4:
    print('您的密码', guess, '安全系数最低,建议增加难度')
else:
    print('您的密码', guess, '安全系数一般,建议增加难度')



亮晶晶 发表于 2018-12-22 17:40:40

看得懂,想不到

寻梦青年 发表于 2020-2-18 23:05:03

谢啦

酒醉三分醒 发表于 2020-2-21 10:36:17

请问一下小甲鱼代码中的 flag_ 和你的 str_ 在哪一讲有讲到?它们的作用和用法是什么?我百度不到这个。

cxj9103 发表于 2020-3-29 17:40:57

酒醉三分醒 发表于 2020-2-21 10:36
请问一下小甲鱼代码中的 flag_ 和你的 str_ 在哪一讲有讲到?它们的作用和用法是什么?我百度不到这个。

flag_和str_都是自己定义的
页: [1]
查看完整版本: 【Pyhon 014讲心得体会】【密码安全性检测】