文档章节

使用Python内建chr, ord实现的简单的加/解密

alazyer
 alazyer
发布于 2014/03/25 20:54
字数 301
阅读 2052
收藏 0

###Python中有两个个内建方法,用于解决0-255与相应ascii码转换:

  1. chr() Return a string of one character with ordinal i; 0 <= i < 256. 也就是,返回代表整数范围内0-255对应的字符。
  2. ord() Return the integer ordinal of a one-character string. 与chr刚好相反,返回一个字符对应的整数。
code = uncode = {}
for c in (65, 97):
	for i in range(26):
		code[chr(i+c)] = chr((i+8) % 26 +c)
                uncode[chr(i+c)] = chr((i+18) % 26 +c)
s = 'alazyer'
print ''.join([code.get(c) for c in s]) # output: itihgmz
print ''.join([uncode.get(c) for c in 'itihgmz']) # output: alazyer

方法很简单,在循环中,将26个英文字符的大小写,向后移动了8个字符作为密码方法code中, 向后移动18个作为解密密码方法uncode中。如果想加密一个字符串的话,使用code.get(c); 解密的话使用uncode.get(c)。 在Python的this.py中有这样一句:d.get(c, c), 当c不在加密密码中时,使用本身代替,这样实现了对标点符号等的支持。 s = "I love China!" print ''.join([code.get(c, c) for c in s]) # output: Q twdm Kpqvi! print ''.join([code.get(c, c) for c in 'Q twdm Kpqvi!']) # output: I love China!

© 著作权归作者所有

共有 人打赏支持
alazyer
粉丝 5
博文 68
码字总数 35105
作品 0
程序员
私信 提问
浅谈Python内置函数chr、ord

简介 在Python2.x 版本中可以用来字符类型转换的函数除了chr和ord,还有unichr,在python3.x只用chr()就可以了,这里主要讲下chr和ord ord是unicode ordinal的缩写,即编号; chr是character...

致Great
2018/05/30
0
0
python chr()、unichr()和ord()

chr()、unichr()和ord() chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的u...

索隆
2012/04/23
0
0
技术流 | 手把手教你用Python设计一个命令行界面

作者 | Yannick Wolff 译者 | 刘旭坤 整理 | Jane 出品 | Python大本营 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰。今天,我们就来教大家如何...

AI科技大本营
2018/12/30
0
0
python模块介绍- binascii:二进制和ASCII互转 以及其他进制转换

python模块介绍- binascii:二进制和ASCII互转以及其他进制转换 2012-08-01磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com qq 37391319 博客: http://blog.csdn.net/oy...

长平狐
2013/12/25
2.7K
0
几道Python小程序练习的多种解法,做出来就表示Python入门了!

下面由小编开始设题解题: python斐波那契数列 关于Python编程练习题和答案,斐波那契数列应用的示例。引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列? 斐波那...

Python新世界
2018/07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring aop学习

1.aop和spring aop的关系? aop是一种思想,spring aop是aop的一种实现。 2.Spring aop和AspectJ的关系? 这两种都是实现aop的,spring借助AspectJ的语法实现aop的功能 3.@AspectJ support和...

llsydn
19分钟前
0
0
OSChina 周六乱弹 —— 世界的源代码

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小鱼丁 :#今日歌曲推荐# 分享Jason Mraz的单曲《Prettiest Friend (Demo)》: 《Prettiest Friend (Demo)》- Jason Mraz 手机党少年们想听歌...

小小编辑
今天
142
5
java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
11
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
6
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部