美文网首页
利用Python加密解密

利用Python加密解密

作者: 火卫控 | 来源:发表于2021-12-02 03:35 被阅读0次

拥有密钥就可以加密解密,方便隐私通信
实现方案如下:

  1. 设置密钥,只有接发双方才拥有
  2. 写好明文,密钥介入进行加密
  3. 接受方可以用同样的密钥就行解密

结果如下:


加密过程
解密过程

代码如下:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File         :   jiami.py
@Time         :   2020/06/13 01:09:01
@Author       :   
@Contact      :   aqy0716@163.com
@Department   :   SCAU 
@Desc         :   None
'''

# here put the import lib
#英文加密算法
# str1-->str2 加密算法
# text为明文, s为加密后密文
# str1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:\"<>\?`1234567890-=[];',./\|"
# text = "i love china"
import random

# 密钥 str1-->str2
str1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', \
    'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', \
        'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', \
            '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '{', '}', ':', '<',\
             '>', '`', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '[', ']', \
                 ';', "'", ',', '.', '/', '|',
'?', '\\', '"']
str2 = ['#', 'X', 'x', 'R', '(', 'U', '$', 'A', 'v', '@', '_', 'Y', 'k', 'i', 'Z', 'T', '0', \
'G', 'e', '&', '3', '!', '9', '=', ']', '+', 'O', 'g', 'L', '5', 'w', 'H', 'C', 'S', '^', 'D', \
    '-', 'F', '`', 'Q', 'f', 'm', '1', '2', '>', 'q', ':', 'y', '*', ',', 'j', 'n', '%', '<', \
        'I', 'u', 'M', '?', '8', 'a', 'b', '|', '6', '.', '}', 'd', '[', 'c', 'W', 'o', '7', \
            'z', '{', 'K', 'V', 'P', 'r', ';', '4', '~', 'B', '/', 'p', 'N', "'", 's', 'l', \
                'E', ')', '"', '\\', 'J', 't', 'h']

#定义加密函数
def  jiami(minwen):
    text = minwen
    s = ""
    for i in  text:
        if i in str1:
            k = str1.index(i)
            s = s + str2[k]
        else:
            s = s + i
    #print(s)
    return s

#定义解密函数1

def jiemi(miwen):
    s = miwen
    s_to_m = ""
    for i in s:
        if i in str2:
            k = str2.index(i)
            s_to_m = s_to_m + str1[k]
        else:
            s_to_m = s_to_m + i
    #print(s2m)
    return s_to_m

#主程序入口
if __name__ == "__main__":
    print("欢迎使用密文系统")
    count = 0
    while True:
        count = count +1
        print("\n-------------------------------程序运行第 " + str(count) + " 次-------------------------------")
        selectway = input("请选择需要的操作:\n 1.加密\n 2.解密\n 3.退出\n   -->请输入数字1或2或3:")
        if selectway == '1':
            mingwen = input("\n-->请输入明文:")
            print("---------------- 结果如下 ----------------")
            postEncrypt = jiami(mingwen)
            print('----->[  ' + str(mingwen) + '  ]<--' +  "\n\n加密后为: \n\n" + '----->[  ' + str(postEncrypt)+ '  ]<--' +'\n ')
            input("------------------------------- 程序继续还是终止? -------------------------------")

        elif selectway== '2':
            miwen = input("\n-->请输入密文:")
            print("----------------结果如下--------------")
            postDecode = jiemi(miwen)
            print('----->[  ' + str(miwen) + '  ]<--' +' \n\n解密后为: \n\n' + '----->[  ' + str(postDecode) + '  ]<--' +'\n ')
            input("------------------------------- 程序继续还是终止? -------------------------------")

        elif selectway== '3':
            print("------------------------------- 感谢您的使用,再见!-------------------------------")
            break

        else:
            print("-------------------------------- 输入错误,程序退出 --------------------------------")
            break
          


密钥为: str1对应str2
明文为: Beautiful tonight, i miss you!
密文为:g(#3&vU3Y &Ziv$A&E v kvee ]Z3<

相关文章

网友评论

      本文标题:利用Python加密解密

      本文链接:https://www.haomeiwen.com/subject/bstyxrtx.html