1.指定方式加密数据

'''

能够加密的内容是英文和汉字。同时加密并且解密

就是说,一段话中既有中文又有英文,标点符号不用处理。

加密规则,获取ascii码数字,中间用|分割

# 思路提示:

print(ord("我"))

print(chr(25105))

'''

'''

我的xinxi,怎么yang??你~!@#$kankan

25105|30340|120|105|110|120|105|,|24590|20040|121|97|110|103|?|65311|20320|~|!|@|#|$|107|97|110|107|97|110|

'''

#加密

def my_encode(info):

new_str=''

for i in my_info:

news=ord(i)

#确定英文字母和汉字在ascii码中的位置

if 64

new_str += str(news)+'|'

else:

new_str +=i+'|'

return new_str

#解密

def my_decode(info):

de_str = ''

str_list = info.split('|')[0:-1]

for i in str_list:

#由于英文字母和汉字通过ascii编码后其字符长度都是大于1的

#通过这个方法判断英文字母、汉字和标点的区别

if len(i) > 1 :

de_str += chr(int(i))

else:

de_str += i

return de_str

if __name__=='__main__':

my_info = input('请输入要加密的信息:')

en_str = my_encode(my_info)

print(en_str)

de_str = my_decode(en_str)

print(de_str)

2.自定义加密数据规则

#加密输入的内容,加密时忽略英文字符

#加密方法:循环使用52个英文字母的ASCII码与对应输入的字符串的ASCII码相加

#加密

def my_encode(info):

#定义一个空字符,接受后面加密后的数据

en_str = ''

#定义一个空列表,接收输入数据分割后的列表

info_list = []

#定义要使用的英文字母

letter = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

#print(len(letter))

#判断输入的字符串可以分成几个部分

if len(info)%52 == 0:

n = len(info)//52

else:

n = len(info)//52+1

#根据letter分割输入的字符串

for i in range(1,n+1):

info_list.append(info[(i-1)*52:i*52])

#加密

for i in info_list:

for j in range(len(i)):

str_ord = ord(i[j])

letter_ord = ord(letter[j])

if 64

en_str += str(str_ord+letter_ord) + '|'

else:

en_str += i[j] + '|'

return en_str

#解密

def my_decode(info):

#定义一个空字符,接受后面解密后的数据

de_str = ''

#定义一个空列表,接收输入数据分割后的列表

info_list = []

#定义要使用的英文字母

letter = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

#以|分割传入的数据

info = info.split('|')[0:-1]

#判断输入的字符串可以分成几个部分

if len(info)%52 == 0:

n = len(info)//52

else:

n = len(info)//52+1

for i in range(1,n+1):

info_list.append(info[(i-1)*52:i*52])

#print(info_list)

#解密

for i in info_list:

for j in range(len(i)):

letter_ord = ord(letter[j])

if len(i[j])>1:

de_str += chr(int(i[j])-letter_ord)

else:

de_str += i[j]

return de_str

if __name__ == '__main__':

info = input('请输入数据')

en_str = my_encode(info)

print(en_str)

de_str = my_decode(en_str)

print(de_str)

python加密规则ascii码值加5_Python使用编码加密输入数据相关推荐

  1. python加密规则ascii码值加5_python的一些加密方法及python 加密模块

    1base64 Python内置的base64模块可以实现base64.base32.base16.base85.urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式 ...

  2. python 常用转义字符对照表 键盘各键对应的ASCII码值

    python中常见的转义字符有以下几种 1.\:续行符: 2.\:反斜杠符号: 3.\':单引号: 4.\":双引号: 5.\a:响铃: 6.\b:退格: 7.\e:转义: 8.\000:空 ...

  3. python面试题-输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母

    题目: 输入一个由n个大小写字母组成的字符,按Ascii码值从小到大排序,查找字符串中第k个最小Ascii码值的字母(k>=1) 输入要求: 第一行输入大小写组成的字符串 第二行输入k, k必须 ...

  4. python代码实现ASCII码转换

    ☞☞☞点击查看更多优秀Python博客☜☜☜ ASCII码转换 python代码实现ASCII码转换 ==**文章导航:==** python代码实现ASCII码转换 自己刚开始学习python不久, ...

  5. 回车、换行、空格的ASCII码值(不同OS平台下文件换行定义)

    回车.换行.空格的ASCII码值(不同OS平台下文件换行定义) 回车,ASCII码13(十六进制:0x0D),"\r" 换行,ASCII码10(十六进制:0x0A),"\ ...

  6. 微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出。

    微机原理:编写一个源程序,在键盘上按一个键,将从AL返回的ASCII码值显示出来,如果按下ESC键则程序退出. DATAS SEGMENT msg db 'Input ',0dh,0ah,'$' te ...

  7. 常用ASCII码值以及大小写字母转换

    不知道大家在编程时需要使用到ASCII码但不记得是什么感觉,但对我来说就是 遇到啊,就遭老罪了~~~ 这里列出一些常用的ASCII码值,还有ASCII标准表,希望可以帮助到大家: a-z:97-122 ...

  8. 汉字的ascii码值范围_ASCII代码

    同学们,我们都知道计算机只能接受二进制信息,很显然直接给出英文的ABCD计算机并不认识,那为何敲击键盘屏幕就可以显示出对应的字符呢? 为了解决这个问题,计算机采用一套编码,每个编码都是唯一的,对应键盘 ...

  9. 编写一个程序,要求输入一个ASCII码值(如66),然后输入相应的字符`

    编写一个程序,要求输入一个ASCII码值(如66),然后输入相应的字符` #include <stdio.h>int main(void) {int ch;scanf("%d&q ...

最新文章

  1. 周末话题-元编程(metaprogramming)
  2. StringBuffer与StringBuilder
  3. NILMTK——经典数据集REDD介绍和使用
  4. [导入]Visual Studio 2005 Team Edition软件架构系列课程(1): 概述
  5. Win11系统自动暂停更新后想继续怎么办 Win11系统重新启动更新教程
  6. 模糊搜索简单算法fuzzywuzzy
  7. 数字电子技术基础 数电 第六版 课后答案(全)
  8. 【读书笔记】Vue.js 初次接触
  9. [Luogu3554] Poi2013 Triumphal arch
  10. Pacman基本使用
  11. python取值范围_python 数据库取值范围
  12. Iterative Deep Learning论文简读
  13. Tomcat漏洞ip:port/manager/html
  14. poi生成word 纸张方向横竖切换
  15. 【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive数据可视化中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)
  16. 电子制作——一个电调的诞生之路
  17. 重磅发布:史上首份揭秘微信公众号用户行为习惯研究报告
  18. 【腾讯阿里最全面试题】介绍下Synchronized、Volatile、CAS、AQS,以及各自的使用场景
  19. xmanager5链接linux配置,xmanager连接linux5的方法
  20. 快速插入数据mysql数据库

热门文章

  1. 转:英语冠词用法详解(定冠词、不定冠词、零冠词等)
  2. 相干光通信基础知识(一)
  3. 【华为云技术分享】10分钟快速在华为云鲲鹏弹性云服务器上部署一个自己的弹幕网站!
  4. Wiley开放科学大使访谈——刘永鑫
  5. 从《货殖列传》中学习炒股
  6. 手机系统暗潮汹涌 Symbian将何去何从?
  7. [转载] 暗潮涌动:警惕IBM温情脉脉背后的垄断野心
  8. 22考研清华905机械设计基础上岸经验分享
  9. 微信公众平台开发教程第2篇-----微信开发者接入
  10. VSCode 无法跳转到定义