zoukankan      html  css  js  c++  java
  • Python实现英文文章加密传送,收到后进行解密

    思路:将I Love You这样的字符串中的每一个字符,将他的Unicode码都就进行加或减去一个特定的数,

    在传送过程中,如果被截获,获取的也是一段混乱的文章,当收到这段文章后,按相同的方式对Unicode编码减去或加上这个特定的数,就回到了原来的值,

    注意:空格不做处理

               小写字母,大写字母加或减去特定数后可能出现越过英文字母的Unicode码的边界,需要做处理:

    message = input("Enter a message:")
    key = input("Enter shift number:")
    secret_message=""
    
    for lett in message:
        unicode = ord(lett)+int(key)
        if lett.isalpha():
            if lett.isupper():
                if unicode>ord('Z'):
                    unicode-=26
                if unicode<ord("A"):
                    unicode+=26
            if lett.islower():
                if unicode > ord('z'):
                    unicode -= 26
                if unicode < ord("a"):
                    unicode += 26
            secret_message+=chr(unicode)
        else:
            secret_message+=lett
    print("加密后的字符串:",secret_message)
    
    print("****************变成明文的步骤*************")
    orig_message=""
    key=-1*int(key)
    for lett in secret_message:
        unicode = ord(lett) + int(key)
        if lett.isalpha():
            if lett.isupper():
                if unicode > ord('Z'):
                    unicode -= 26
                if unicode < ord("A"):
                    unicode += 26
            if lett.islower():
                if unicode > ord('z'):
                    unicode -= 26
                if unicode < ord("a"):
                    unicode += 26
            orig_message += chr(unicode)
        else:
            orig_message += lett
    print("明文是:",orig_message)

          

  • 相关阅读:
    ruby中nil?, empty? and blank?
    dialog插件demo
    Oauth2.0 QQ&微信&微博实现第三方登陆
    SSM框架应用
    点击<a>标签后禁止页面跳至顶部
    使用Node.js+Hexo+Github搭建个人博客(续)
    软件项目托管平台
    【转载】 Eclipse注释模板设置详解
    Markdown 简介及基础语法
    SpringMVC简介
  • 原文地址:https://www.cnblogs.com/lyxcode/p/10912508.html
Copyright © 2011-2022 走看看