Python基于自定义密钥的简单加密解密算法实现
本文介绍如何使用Python实现一种基于自定义大写英文字符串密钥的简单加密解密机制。通过构建字母映射表,将明文中的字符按密钥规则进行替换,实现加密与解密过程。代码包含完整的算法逻辑与运行示例,适合初学者理解基础加密原理。
Python简单加密解密机制概述
本文利用Python语言构建一个基础的加密与解密系统。
核心思路:利用26个英文字母,配合一个特定的单词作为密钥,通过Python代码完成简单的加密和解密操作。
密钥要求:必须为大写的英文字符串。
明文格式:支持包含空格、大小写英文字母及数字在内的字符串。
Python代码实现与运行结果
具体代码实现如下:
# -*- coding: utf-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import string
def 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 data2
def 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 True
if __name__ == "__main__":
main()
程序执行后的输出结果展示:
# python jiami.py 秘钥:ZDFKJMNX 明文:a bdcd sFDGDSGFDG113243 3 加密明文所得的密文:z dkfk qMKNKQNMKN113243 3 解密密文所得的明文:a bdcd sFDGDSGFDG113243 3
以上即为本文的全部内容,希望能为读者的学习提供有益参考,同时也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













