6.3 项目:口令保管箱

你可能在许多不同网站上拥有账号,每个账号使用相同的口令是个坏习惯。如果这些网站中任何一个有安全漏洞,黑客就会知道你所有的其他账号的口令。最好是在你的计算机上,使用口令管理器软件,利用一个主控口令,解锁口令管理器。然后将某个账户口令拷贝到剪贴板,再将它粘贴到网站的口令输入框。你在这个例子中创建的口令管理器程序并不安全,但它基本展示了这种程序的工作原理。

 本章项目
这是博客的第一个章内项目。以后,每章都会有一些项目,展示该章介绍的一些概念。这些项目的编写方式,让你从一个空白的文件编辑器窗口开始,得到一个完整的、能工作的程序。就像交互式环境的例子一样,不要只看项目
的部分,要注意计算机的提示!

第 1 步:程序设计和数据结构
你希望用一个命令行参数来运行这个程序,该参数是账号的名称。例如,账号的口令将拷贝到剪贴板,这样用户就能将它粘贴到口令输入框。通过这种方式,用户可以有很长而复杂的口令,又不需要记住它们。
打开一个新的文件编辑器窗口,将该程序保存为 pw.py。程序开始时需要有一行#!(参见附录 
B),并且应该写一些注释,简单描述该程序。因为你希望关联每个账号的名称及其口令,所以可以将这些作为字符串保存在字典中。字典将是组织你的账号和口令数据的数据结构。让你的程序看起来像下面这样:
#!  python3
#  pw.py  -  An  insecure  password  locker  program.

PASSWORDS  =  {'email':  'F7minlBDDuvMJuxESSKHFhTxFtjVB6', 'blog':  
'VmALvQyKAxiVH5G8v01if1MLZF3sdt', 'luggage':  '12345'}

第 2 步:处理命令行参数
命令行参数将存储在变量 sys.argv  中(关于如何在程序中使用命令行参数,更多信息请参见附录 B)。sys.argv  列表中的第一项总是一个字符串,它包含程序的文件名
('pw.py')。第二项应该是第一个命令行参数。对于这个程序,这个参数就是账户名称,你希望获取它的口令。因为命令行参数是必须的,所以如果用户忘记添加参数(也就是说,如果列表中少于两个值),你就显示用
法信息。让你的程序看起来像下面这样:


#!  python3
#  pw.py  -  An  insecure  password  locker  program.

PASSWORDS  =  {'email':  'F7minlBDDuvMJuxESSKHFhTxFtjVB6', 'blog':  
'VmALvQyKAxiVH5G8v01if1MLZF3sdt', 'luggage':  '12345'}

import  sys
if  len(sys.argv)  <  2:
print('Usage:  python  pw.py  [account]  -  copy  account  password') sys.exit()

account  =  sys.argv[1]  #  first  command  line  arg  is  the  account  name
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大飞哥软件自习室

希望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值