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-=
            if unicode<ord("A"):
                unicode+=
        if lett.islower():
            if unicode > ord('z'):
                unicode -=
            if unicode < ord("a"):
                unicode +=
        secret_message+=chr(unicode)
    else:
        secret_message+=lett
print("加密后的字符串:",secret_message)
print("****************变成明文的步骤*************")
orig_message=""
key=-*int(key)
for lett in secret_message:
    unicode = ord(lett) + int(key)
    if lett.isalpha():
        if lett.isupper():
            if unicode > ord('Z'):
                unicode -=
            if unicode < ord("A"):
                unicode +=
        if lett.islower():
            if unicode > ord('z'):
                unicode -=
            if unicode < ord("a"):
                unicode +=
        orig_message += chr(unicode)
    else:
        orig_message += lett
print("明文是:",orig_message)
Python实现英文文章加密传送,收到后进行解密的更多相关文章
- python AES 双向对称加密解密
		高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分 ... 
- 前端发起resultUrl请求,服务端收到后做逆向处理,校验sign后,执行originUrl逻辑
		originUrl=http://test.com:8080/user/alipay_phone?uid=123&amount=21.3第0步:前后端约定32位密钥KEY第一步:对参数按照ke ... 
- python爬虫:了解JS加密爬取网易云音乐
		python爬虫:了解JS加密爬取网易云音乐 前言 大家好,我是"持之以恒_liu",之所以起这个名字,就是希望我自己无论做什么事,只要一开始选择了,那么就要坚持到底,不管结果如何 ... 
- C++语言,统计一篇英文文章中的单词数(用正则表达式实现)
		下面的例子展示了如何在C++11中,利用regex_search()统计一篇英文文章中的单词数: #include <iostream> #include <regex> #i ... 
- 统计英文文章中各单词的频率,打印频率最高的十个单词(C语言实现)
		一.程序思路及相关代码 首先打开文件,代码如下 FILE *fp; char fname[10]; printf("请输入要分析的文件名:\n"); scanf("%s ... 
- 使用python中的matplotlib 画图,show后关闭窗口,继续运行命令
		使用python中的matplotlib 画图,show后关闭窗口,继续运行命令 在用python中的matplotlib 画图时,show()函数总是要放在最后,且它阻止命令继续往下运行,直到1.0 ... 
- python文件的md5加密方法
		本文实例讲述了python文件的md5加密方法.分享给大家供大家参考,具体如下: 一.简单模式: from hashlib import md5 def md5_file(name): m = md5 ... 
- python实现base64算法加密
		python本身有base64加密的模块,不过是用C写的,封装成了.so文件,无法查看源码,本着学习的心态,自己实现了一遍,算法 原理参考 浅谈Base64编码算法. 代码如下: # coding:u ... 
- 1st 英文文章词频统计
		英文文章词频统计: 功能:统计一篇英文文章的单词总数及出现频数并输出,之后排序,输出频数前十的单词及其频数. 实现方法:使用C语言,用fopen函数读入txt文件,fscanf函数逐个读入单词,结构体 ... 
随机推荐
- pwn学习日记Day15 《程序员的自我修养》读书笔记
			程序编译链接过程: 1.调用cc1程序,这个程序实际上就是GCC的C语言编译器,它将"hello.c"编译成一个临时的汇编文件"/tmp/ccUhtGSB.s" ... 
- Git 命令行使用
			一.git简介: Linux创建了Linux,但是Linux的发展壮大是由世界各地的热心志愿者参与编写的?那么那么多份的代码是怎么合并的呢?之前是在2002年以前,世界各地的志愿者把源代码文件通过di ... 
- 多线程循环打印ABC
			主要是利用线程的wait()和notify()来实现 public class MyThread implements Runnable { private String name; private ... 
- Flutter移动电商实战 --(14)首页_拨打电话操作
			拨打电话的功能在app里也很常见,比如一般的外卖app都会有这个才做.其实Flutter本身是没给我们提供拨打电话的能力的,那我们如何来拨打电话那? 1.编写店长电话模块 这个小伙伴们一定轻车熟路了, ... 
- Android Popwindow使用总结
			Android Popwindow使用总结 转 https://www.jianshu.com/p/3812ff5ef272 1.基本使用方法 View view = getLayoutInflate ... 
- 安装mysql数据库及问题解决方法
			1.mysql官网下载安装包,官网地址:www.mysql.com [root@seiang software]# ll total 580020 -rw-r--r--. 1 root root 59 ... 
- RAID概念记录
			之前对RAID概念有一些基本的认知,这次同事培训k8s 的持久卷,提到了RAID的一些概念和用法,记录一下. RAID ( Redundant Array of Independent Disks ) ... 
- 一个BADI中实施多个Implementation
			转自:https://blog.csdn.net/zhongguomao/article/details/76251407 业务场景:例如我们需要对国家的税率做一个增强,以完成某种业务运算,但是每个国 ... 
- MUI和html5plus
			MUI: http://dev.dcloud.net.cn/mui/snippet/ html5plus: http://www.html5plus.org/doc/h5p.html 
- Scala使用备注一
			package com.ws.spark.study.scala import java.io.File import org.scalatest.FlatSpec import scala.io.S ... 
