使用python实现简单的加密解密机制

来源:互联网 发布:提高网络安全意识 编辑:程序博客网 时间:2024/05/29 16:49

          很久没写博客了,这次使用python实现一个简单的加密解密机制。


描述:结合26个字母、以一个单词作为秘钥,使用python实现简单的加密解密机制

秘钥:大写的英文字符串

明文:包含空格、大小写字母、数字等的字符串


代码实现:

# -*- coding: utf-8 -*-import os,sys  reload(sys)  sys.setdefaultencoding('utf8') import stringdef suanfa(key):    alp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'    jiami_key = {}    jiemi_key = {}    list0 = list(alp)    list1 = list(key)    list2 = list(alp)    for n in list1:        for m in list2:            if m == n:                list2.remove(m)    alp1 = ''.join(list2)    key1 = key + alp1    list3 = list(key1)    a = 0    if a < len(list0):        for m in list0:            jiami_key[m] = list3[a]            a = a + 1        b = 0    if b < len(list3):        for n in list3:            jiemi_key[n] = list0[b]            b = b + 1        #print jiami_key    #print jiemi_key    return jiami_key, jiemi_key  def bianma(key_dic, data):    list_data = list(data)    data1 = []    for a in list_data:         if a == ' ':             data1.append(a)         elif a.islower():             a = a.upper()             if key_dic.has_key(a):                 x = key_dic[a]                 data1.append(x.lower())         elif a.isupper():             if key_dic.has_key(a):                 x = key_dic[a]                 data1.append(x)         else:             data1.append(a)    data2 = ''.join(data1)    #print data2    return data2def main():    key = 'ZDFKJMNX'    data = 'a bdcd sFDGDSGFDG113243 3'    print "秘钥:" + key    print "明文:" + data    jiami_key, jiemi_key = suanfa(key)    miwen = bianma(jiami_key, data)    mingwen = bianma(jiemi_key, miwen)    print "加密明文所得的密文:" + miwen    print "解密密文所得的明文:" + mingwen    return Trueif __name__ == "__main__":    main() 


运行结果:

# python jiami.py 
秘钥:ZDFKJMNX
明文:a bdcd sFDGDSGFDG113243 3
加密明文所得的密文:z dkfk qMKNKQNMKN113243 3
解密密文所得的明文:a bdcd sFDGDSGFDG113243 3

原创粉丝点击