Bootstrap

Python 加密解密信息 - DAY9

编码的基本介绍

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符[1]。

目前的文字编码标准主要有 ASCII、GB2312、GBK、Unicode等。ASCII 编码是最简单的西文编码方案。GB2312、GBK、GB18030 是汉字字符编码方案的国家标准。ISO/IEC 10646 和 Unicode 都是全球字符编码的国际标准[2]。

一个字符可以对应一个十进制数字,也可以是二进制、八进制、十六进制。

如:“!”字符的二进制是【0010 0001】,八进制是【041】,十进制是【33】,十六进制是【0x21】

ord()函数 - 加密

通过ord()函数,可以把字符转化为一个ASCII码中的十进制数字

i = ord("!")

print(i)

#输出
33

chr()函数 - 解密

返回字符

# 请用户输入需要加密的信息
message = input("please input your message >>>>")

# 加密
# 定义一个变量,用于存放加密后的结果
result = ""
# 遍历用户输入的字符
for i in message:
    # 加密后的信息
    r = ord(i)
    # 拼接加密后的数据,每一个数字之间使用|进行分隔
    result = result + str(r) + "|"

print("加密后的信息:" + result)


# 解密
# 使用你的分隔符号进行字符串的拆分
result_list = result.split("|")
# 去掉返回列表中的空元素
result_list.remove("")
print(result_list)
# 遍历列表后解密信息

data = ""
for r in result_list:

    # 解密后,拼接解密信息
    data = data + str((chr(int(r))))
print("解密后的信息:" + data)

#输出

please input your message >>>>我爱大胖胖
加密后的信息:25105|29233|22823|32982|32982|
['25105', '29233', '22823', '32982', '32982']
解密后的信息:我爱大胖胖

加密信息表白不见得是利器,但是用于骂人可是扁人于无形之中,用于发泄也蛮好的!

[1]莫绍强、陈善国.计算机应用基础教程:中国铁道出版社,2012年:12-13

[2]林福宗.多媒体技术基础:清华大学出版社,2017:27-42