|
|
@ -1,5 +1,7 @@
|
|
|
|
# 模式,文件,自己的公钥从哪里来,别人的公钥从哪里来
|
|
|
|
# 模式,文件,自己的公钥从哪里来,别人的公钥从哪里来
|
|
|
|
import base64
|
|
|
|
import base64
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
from Tools.scripts.abitype import get_fields
|
|
|
|
|
|
|
|
|
|
|
|
from entity.Letter import Letter
|
|
|
|
from entity.Letter import Letter
|
|
|
|
from itsdangerous import base64_encode
|
|
|
|
from itsdangerous import base64_encode
|
|
|
@ -11,7 +13,7 @@ from tool.symmetric.SM4 import encrypt_ecb, decrypt_cbc_with_iv, encrypt_cbc_wit
|
|
|
|
from Crypto.Random import get_random_bytes
|
|
|
|
from Crypto.Random import get_random_bytes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 两个变量,记录信封
|
|
|
|
# 三个全局变量,记录信封
|
|
|
|
letterWay = ""
|
|
|
|
letterWay = ""
|
|
|
|
letterMode = ""
|
|
|
|
letterMode = ""
|
|
|
|
letterSymKey = b""
|
|
|
|
letterSymKey = b""
|
|
|
@ -23,7 +25,7 @@ def main():
|
|
|
|
|
|
|
|
|
|
|
|
with open(path,"rb") as f:
|
|
|
|
with open(path,"rb") as f:
|
|
|
|
data = f.read()
|
|
|
|
data = f.read()
|
|
|
|
letter.fileName = "交给你了"
|
|
|
|
letter.fileName = getFileName(path)
|
|
|
|
letter.recvPubKey = getRecvPubKey()
|
|
|
|
letter.recvPubKey = getRecvPubKey()
|
|
|
|
letter.senderPubKey = getSenderPubKey()
|
|
|
|
letter.senderPubKey = getSenderPubKey()
|
|
|
|
letter.fileBase64, akey = SymEncryption(base64_encode(data).decode("utf-8"),letterSymKey)
|
|
|
|
letter.fileBase64, akey = SymEncryption(base64_encode(data).decode("utf-8"),letterSymKey)
|
|
|
@ -33,6 +35,7 @@ def main():
|
|
|
|
|
|
|
|
|
|
|
|
letter.sign = getSign(data)
|
|
|
|
letter.sign = getSign(data)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print(letter.fileName)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print(letter.sign)
|
|
|
|
print(letter.sign)
|
|
|
@ -49,8 +52,14 @@ def main():
|
|
|
|
pass
|
|
|
|
pass
|
|
|
|
def selectFile() -> str:
|
|
|
|
def selectFile() -> str:
|
|
|
|
s = input("输入文件路径:")
|
|
|
|
s = input("输入文件路径:")
|
|
|
|
|
|
|
|
# s = "public.pem"
|
|
|
|
return s
|
|
|
|
return s
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 获得文件名
|
|
|
|
|
|
|
|
def getFileName(fName:str) -> str:
|
|
|
|
|
|
|
|
filePath = os.path.split(fName)
|
|
|
|
|
|
|
|
return filePath[-1]
|
|
|
|
|
|
|
|
|
|
|
|
def sendLetter(letter: Letter, target="192.168.195.162:8426"):
|
|
|
|
def sendLetter(letter: Letter, target="192.168.195.162:8426"):
|
|
|
|
# 向目标ip和端口发送指定的信件
|
|
|
|
# 向目标ip和端口发送指定的信件
|
|
|
|
pass
|
|
|
|
pass
|
|
|
|