python中文版加密解密_python加密与解密
你有很多重复的代码。。。我们来解决这个问题。。在
首先只为Caesar密码定义2个函数。一个用于加密和解密字符,另一个用于整个字符串。在
正数shift是加密,负数shift是解密。在def cipher_character(character, shift):
# Don't convert anything other than english characters
if not character.isalpha():
return character
# declare some helping constants
alpha_length = 26
ascii_shift = ord('A') if character.isupper() else ord('a')
cipher_shift = shift % alpha_length
# shift down to 0..25 for a..z
shifted = ord(character) - ascii_shift
# rotate the letter and handle "wrap-around" for negatives and value >= 26
shifted = (shifted + cipher_shift + alpha_length) % alpha_length
# shift back up to english characters
return chr(shifted + ascii_shift)
# Rotate a string k-positions
def cipher_string(string, shift):
return ''.join(cipher_character(c, shift) for c in string)
接下来,提示用户输入
^{pr2}$
然后,对用户输入的选项进行一些if检查。在if option == '1' or option == '2':
message = input("Write your message: ")
if option == '1':
shift = int(input("Enter shift amount: "))
else:
shift = -1*int(input("Enter un-shift amount: "))
print(cipher_string(message, shift))
elif option == '3':
import sys
sys.exit(0)
把所有这些放在一个文件中,用和这里相同的缩进,你应该很好。在
运行示例如下$ python3 CeasarCipher.py
Hello there...
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
¦ 1. Encrypt message ¦
¦ 2. Decrypt message ¦
¦ 3. Exit ¦
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
1
Write your message: This is a test
Enter shift amount: 4
Xlmw mw e xiwx$ python3 CeasarCipher.py
Hello there...
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
¦ 1. Encrypt message ¦
¦ 2. Decrypt message ¦
¦ 3. Exit ¦
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
2
Write your message: Xlmw mw e xiwx
Enter un-shift amount: 4
This is a test
python中文版加密解密_python加密与解密相关推荐
- python代码加密解密_Python加密解密代码
''' 作业:中英文加密+解密 做题思路:先练习单独用ascii和汉字加密和解密,见作业后的encode_game和decode_game 爬取中文用的是BeautifulSoup 作业encode_ ...
- python 加密库_Python加密库入门
python 加密库 密码学俱乐部的第一条规则是:永远不要自己发明密码系统. 密码学俱乐部的第二条规则是:永远不要自己实施密码系统:在密码系统的实施阶段以及设计中都会发现许多现实世界的漏洞. 一个有用 ...
- python 加密解密_python加密解密
EncodeFile(python2.7 加密 ) # -*- coding: utf8 -*- import base64 import sys reload(sys) sys.setdefault ...
- python加密与解密_Python加密与解密,pythonCrypt,和
from Crypto.Cipher import AES class DeAesCrypt: """ AES-128-CBC 加/解密, Padding ZERO模式 ...
- python hashlib解密_python 加密解密
MD5 import hashlib c = raw_input('输入字符:') #python3为input b = hashlib.md5() b.update(c.encode(encodin ...
- python隐藏手机号码程序_Python网站手机号码解密的一种方法
黄页88网站反爬措施对手机号进行了一些加密处理.这里介绍一下怎么解密手机号码的方法. 首先,我们看一下网站显示的手机号是这样的: 显示的手机号 使用ctrl c复制粘贴后变成了这样: 复制后的手机号码 ...
- python加密包_python加密包利用pycrypto包进行AES、DES、MD5等加密
第三方Crypto包提供了较全面的加密算法,包括Cipher.Hash.Protocol.PublicKey.Singature.Util几个子模块,其中Cipher模块中有常用的AES.DES加密算 ...
- python的pyd文件_Python 加密之 生成pyd文件
混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Python有py.pyc.pyw.pyo.pyd等文件格式. 其中,pyc是二进制文件.但很容易被反编译. pyw也不行,只是隐藏 ...
- python加密程序_Python加密程序
展开全部 alp='abcdefghijklmnopqrstuvwxyz0123456789 ' def num2alp(c): a = alp[c] return(a) def alp2num(d) ...
最新文章
- android 6.0 获取手机号,头条小程序获取手机号码,回调未执行,导致无法获取手机号码...
- 海康sdk返回yv12
- ESP32 OTA升级框架
- linux 常用命令整理----链接文件
- DataFrame纵向合并
- linux5 多用户模式,centos7设置以多用户模式启动
- RHEL7安装ZABBIX 3.2
- 正则表达式就这么简单!
- synchronized工作原理剖析(一)
- 北大中文核心期刊目录2021年 无线电电子学、电信技术
- Axure 8.1.0.3381版安装包+注册码百度云盘下载
- oracle数据库行转列(含例子表结构及查询sql)
- ArcGIS 正高转换成椭球体高度
- 小储云商城v1.873源码(已更新)
- Android源码解析之Android系统启动整体流程分析
- 微机原理知识点总结9(8255A+8251A)
- 剪不断理还乱--C#重载/重写/覆盖
- 网易游戏测试工程师面试小记
- PS2接口协议及代码分析
- Spring MVC 参数校验
热门文章
- 如何玩转信用卡 银行不会告诉你的十个秘密
- 经典龙格-库塔法(四阶龙格-库塔法)求解求一阶常微分方程相应的特解的Python程序
- 【Java】RPC与RMI框架
- web期末作业设计网页 HTML+CSS+JavaScript仿王者荣耀游戏新闻咨询(网页设计期末课程设计)...
- springboot导出excel(easyexcel和poi 列下拉及表格锁定)
- XENOGEARS,延续万年的的永恒之爱(引)
- 复化柯特斯matlab,基于牛顿‑柯特斯公式构造背景值的GM(1,1)模型预测方法与流程...
- Linux系统目录详解
- 交通事故预测——《RiskOracle: A Minute-level Citywide Traffic Accident Forecasting Framework》
- Java程序员的互联网转型之路