美文网首页
利用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