python人工智能应用锁_人工智能Python编程特训营——情报密码锁

参加了人工智能Python编程特训营这门课程,在这里记录一下自己的学习过程。

加密技术的基本分类对称式加密:加密和解密使用同一个密钥。信息接收双方都需事先知道密钥和加密解密算法且密钥是相同的,之后便是对数据进行加密解密了。常见的有DES,AES。

2. 非对称式加密:加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。常用的有RSA。发送双方A,B事先均生成一堆密匙

A将自己的公有密匙发送给B,B将自己的公有密匙发送给A

如果A要给B发送消息,则需要用B的公有密匙进行消息加密

A将加密后的消息发送给B

B接收到消息后再用自己的私有密匙进行消息解密

项目实战目标:实现一个加密解密程序。

2. 要求:对于一段消息中的中文和英文进行加密和解密,消息中的数字和标点符号不用处理。其中,加密结果是中文和英文对应的ASCII码值,并且使用“|”进行分隔。

3. 加密:

def encrypt(ori):

"""加密规则,获取中文和英文对应的ASCII码数字,中间用"|"分割:param ori: 明文:return result: 密文"""

result = "" #密文

for char in ori:

value = ord(char) #将明文转换为对应的ASCII码

if 65<= value <= 90 or 97<= value <= 122 or 19968 <= value <= 40875: #如果是英文或中文

result += str(value) + "|"

else:

result += char + "|"

return result

4. 解密:

def dencrypt(ori):

"""解密:param ori: 密文:return result: 明文"""

#将密文以"|"为分隔符进行拆解,并且去掉最后多出来的部分

ori_list = ori.split("|")

ori_list.remove("")

result = "" #明文

for char in ori_list:

try:

value = int(char) #char是数字或者ASCII码值

if 65 <= value <= 90 or 97 <= value <= 122 or 19968 <= value <= 40875: # char是英文或中文

result += chr(value)

else: #char为数字

result += char

except: #char为符号

result += char

return result

5. 实验结果:

#输入一段话:

message = input("Please input your message>>") #哈哈,123haha!>>

#加密解密

encry_result = encrypt(message)

print(encry_result) #21704|21704|,|1|2|3|104|97|104|97|!|>|>|

dencry_result = dencrypt(encry_result)

print(dencry_result) #哈哈,123haha!>>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值