随着互联网的快速发展,不同应用程序之间的数据交互变得越来越普遍。但是数据在交互的过程中,总会有一些风险的存在,例如:数据的泄露,数据的拦截等,那么在数据传输过程中的加密就显得尤为重要。AES加密是常用的一种加密方式。
那么如何实现AES加密呢?这就成为了很多IT人员的需要解决的问题,今天我们就来一起探讨一下。
import requests
from Crypto.Cipher import AES
import base64
import json
# AES加密函数
def encrypt(text, key, iv):
cipher = AES.new(key, AES.MODE_CBC, iv)
length = 16
count = len(text)
if count % length != 0:
add = length - (count % length)
else:
add = 0
text = text + ('\0' * add)
ciphertext = cipher.encrypt(text)
return base64.b64encode(ciphertext)
# Base64解密函数
def decrypt(ciphertext, key, iv):
cipher = AES.new(key, AES.MODE_CBC, iv)
plaintext = cipher.decrypt(base64.b64decode(ciphertext))
return plaintext.rstrip(b'\0').decode()
# 注册功能
def register_account(url, account, password):
# 加密密码
key = 'xiufeng20230724'
iv = 'xiufenghuanyingni'
password_encrypted = encrypt(password, key, iv)
# 构造请求数据
data = {
'account': account,
'password': password_encrypted.decode()
}
# 转化成json
json_data = json.dumps(data)
# 发送POST请求
response = requests.post(url, json_data.encode())
# 解析响应数据
if response.status_code == 200:
result = response.json()
ciphertext = result.get('data')
plaintext = decrypt(ciphertext, key, iv)
print("注册成功!返回数据:", plaintext)
else:
print("注册失败!HTTP错误码:", response.status_code)
# 测试账号注册
url = 'http://47.92.215.112:9797/api/account/register'
# 自定义的账号
account = 'your_account'
# 自定义的密码
password = 'your_password'
register_account(url, account, password)
以上是咱们根据python编写的一段依据AES加密和解密的代码,是不是看起来很神奇呢?经过加密后的数据,如果没有对应的秘钥是无法正确读取数据的。这样咱们的数据在传输过程中就有了很高的安全性。
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!