sender 修正

准备对接Letter
sender_okToCheck
Timmoc 4 months ago
parent 938ba78c03
commit 4f0f01a1d1

@ -6,5 +6,4 @@ class Letter:
senderPubKey = ""
fileName = ""
fileSize = 0
fileBase64 = ""

@ -1,42 +1,51 @@
# 模式,文件,自己的公钥从哪里来,别人的公钥从哪里来
from encodings.base64_codec import base64_encode
from entity.Letter import Letter
from tool import PriKeyHelper
from tool.PriKeyHelper import getUserKey
from tool.asymmetric import RSA
from tool.symmetric.AES import AESUtils
from tool.symmetric.SM4 import encrypt_ecb, decrypt_cbc_with_iv
from tool.symmetric.SM4 import encrypt_ecb, decrypt_cbc_with_iv, encrypt_cbc_with_iv
from Crypto.Random import get_random_bytes
# 两个变量,记录信封
letterWay = ""
letterMode = ""
letterSymKey = ""
letterSymKey = b""
def main():
letter = Letter()
# 用户输入各种数据填充letter字段
data = "Hello, AES!"
path = selectFile()
with open(path,"rb") as f:
data = f.read()
letter.fileName = "交给你了"
letter.encryptType = getEncryptType()
letter.encryptKey = getEncryptKey()
letter.recvPubKey = getRecvPubKey()
letter.senderPubKey = getSenderPubKey()
SymEncryption(data,letterSymKey)
# data = "Hello, AES!"
data, akey = SymEncryption(data)
letter.sign = getSign()
Letter.sign = getSign()
Letter.encryptType = getEncryptType()
Letter.encryptKey = getEncryptKey()
Letter.recvPubKey = getRecvPubKey()
Letter.senderPubKey = getSenderPubKey()
print(Letter.sign)
print(Letter.encryptType)
print(Letter.encryptKey)
print(Letter.recvPubKey)
print(Letter.senderPubKey)
print(letter.sign)
print(letter.encryptType)
print(letter.encryptKey)
print(letter.recvPubKey)
print(letter.senderPubKey)
# 获取用户的公私钥对进行签名
# 使用对方的公钥进行加密
# 发送信件
pass
def selectFile() -> str:
s = input("输入文件路径:")
return s
def sendLetter(letter: Letter, target="192.168.195.162:8426"):
# 向目标ip和端口发送指定的信件
@ -101,10 +110,8 @@ def SymEncryption(encryData, key: bytes = None):
encrypted_data = encrypt_ecb(encryData, key)
# mode 为 cbc
else:
encrypted_data = decrypt_cbc_with_iv(encryData, key)
encrypted_data = encrypt_cbc_with_iv(encryData, key)
letterSymKey = key
return encrypted_data, key
# 获得签名

@ -20,7 +20,7 @@ def encrypt_ecb(data: str, key: bytes) -> str:
def decrypt_ecb(encrypted_hex: str, key: bytes) -> str:
cipher = sm4.CryptSM4()
cipher.set_key(key, sm4.SM4_DECRYPT)
decrypted_data = cipher.crypt_ecb(bytes.fromhex(encrypted_hex))
decrypted_data = cipher.crypt_ecb(base64.b64decode(encrypted_hex))
return decrypted_data.decode('utf-8')
@ -51,7 +51,7 @@ def decrypt_cbc_with_iv(encrypted_bytes_base64: str, key) -> str:
# 解密数据
decrypted_data = cipher.crypt_cbc(iv, encrypted_data)
return base64.b64decode(decrypted_data).decode('utf-8')
return decrypted_data.decode("utf-8")
if __name__ == "__main__":
@ -73,7 +73,7 @@ if __name__ == "__main__":
# 加密
encrypted_data = encrypt_cbc_with_iv(data, key)
print(f"Encrypted: {encrypted_data.hex()}")
print(f"Encrypted: {encrypted_data}")
# 解密
decrypted_data = decrypt_cbc_with_iv(encrypted_data, key)

Loading…
Cancel
Save