4.11---4.17

一、 维吉利亚(Vigenere)密码

1、加密原理:

26个小写英文字母(a-z)对应26个自然数(0-25),也就是a对应0,b对应1,c对应2,以此类推。

2、加密方法:

假设明文信息是abcd,密码是ab,那么加密后的密文(对应的数字)=明文(对应的数字)+密码(对应的数字)。

①明文abcd有四位,密码ab两位。因此要加密就得补上空余的位置。如果明文是abcde,那么对应填补上的密码就会是ababa。

②明文第一位是a,对应0;密码第一位是a,对应0;所以得到的密文第一位就是a,因为0+0=0,0对应的是a。

③明文第二位是b,对应1;密码第一位是b,对应1;所以得到的密文第一位就是b,因为1+1=2,2对应的是c。

④所以最后的密文会等于:acce。

3、破解方法:

做一个减法,密文减去明文。

二、python的学习——错误处理

## Example 1
try: 
    a = int(input("Enter a:"))    
    b = int(input("Enter b:"))   
    c = a/b 
    print(c)
except: 
    print("Can't divide with zero")
## Example 2
try:   
    #this will throw an exception if the file doesn't exist.    
    fileptr = open("file.txt","r")   
except IOError:   
    print("File not found")   
else:   
    print("The file opened successfully")   
    fileptr.close() 
## Example 3
try:
  fptr = open("data.txt",'r')
  try:
    fptr.write("Hello World!")
  finally:
    fptr.close()
    print("File Closed")
except:
  print("Error")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值