修复部分bug,常规推送

sender_okToCheck
Timmoc 4 months ago
parent c349bc3039
commit 685bccaa93

@ -35,7 +35,7 @@ def handleLetter(letter:Letter):
SM4.decrypt_ecb(base64.b64decode(letter.fileBase64),key)
elif type == config.EncryptType.SM4_CBC:
SM4.decrypt_cbc_with_iv(base64.b64decode(letter.fileBase64),key)
elif type == config.EncryptType.AES_GCM:
elif type == config.EncryptType.AES_ECB:
raise NotImplementedError("未实现")
elif type == config.EncryptType.AES_CBC:
raise NotImplementedError("未实现")

@ -56,7 +56,7 @@ def SymEncryption(encryData, key: bytes = None):
aesUtils = AESUtils(key)
# tureKey 为 真实返回的Key如果没有设置初始值那么key是随机生成
encryptedData, tureKey = aesUtils.encrypt(encryData, mode=mode) # 这里encryData要改为文件内容
return encryptedData
return encryptedData,tureKey
if way == "sm2":
pass
@ -69,6 +69,9 @@ def getKey():
if __name__ == "__main__":
# 示例数据和密钥
data = "Hello, AES!"
key = "1234567890abcdef"
# key = "1234567890abcdef"
print(data)
SymEncryption(data)
data,key = SymEncryption(data)
print(data,key)

@ -13,23 +13,23 @@ class AESUtils:
else:
self.key = key
def encrypt(self, data: str, mode: str = 'ECB') -> str:
def encrypt(self, data: str, mode: str = 'ECB') -> (str,str):
"""加密数据"""
cipher = self._get_cipher(mode)
data = pad(data.encode(), AES.block_size) # 填充数据
ciphertext = cipher.encrypt(data)
return base64.b64encode(ciphertext).decode()
return base64.b64encode(ciphertext).decode(),self.key
def _get_cipher(self, mode: str) -> AES:
"""根据模式返回相应的 AES cipher"""
iv = None
if mode == 'CBC':
iv = get_random_bytes(AES.block_size)
return AES.new(self.key, AES.MODE_CBC, iv), self.key
return AES.new(self.key, AES.MODE_CBC, iv)
elif mode == 'CFB':
return AES.new(self.key, AES.MODE_CFB), self.key
return AES.new(self.key, AES.MODE_CFB)
elif mode == 'OFB':
return AES.new(self.key, AES.MODE_OFB), self.key
return AES.new(self.key, AES.MODE_OFB)
else: # 默认是 ECB
return AES.new(self.key, AES.MODE_ECB), self.key
return AES.new(self.key, AES.MODE_ECB)

Loading…
Cancel
Save