@@ -62,18 +62,6 @@ def get_key_pair_by_sql():
6262 return system_setting .meta
6363
6464
65- # def get_key_pair():
66- # if not os.path.exists("/opt/maxkb/conf/receiver.pem"):
67- # kv = generate()
68- # private_file_out = open("/opt/maxkb/conf/private.pem", "wb")
69- # private_file_out.write(kv.get('value'))
70- # private_file_out.close()
71- # receiver_file_out = open("/opt/maxkb/conf/receiver.pem", "wb")
72- # receiver_file_out.write(kv.get('key'))
73- # receiver_file_out.close()
74- # return {'key': open("/opt/maxkb/conf/receiver.pem").read(), 'value': open("/opt/maxkb/conf/private.pem").read()}
75-
76-
7765def encrypt (msg , public_key : str | None = None ):
7866 """
7967 加密
@@ -111,28 +99,27 @@ def rsa_long_encrypt(message, public_key: str | None = None, length=200):
11199 :param length: 1024bit的证书用100, 2048bit的证书用 200
112100 :return: 加密后的数据
113101 """
114-
115102 # 读取公钥
116103 if public_key is None :
117104 public_key = get_key_pair ().get ('key' )
118- cipher = PKCS1_cipher .new (RSA .importKey (extern_key = public_key ,
119- passphrase = secret_code ))
120- # 处理:Plaintext is too long. 分段加密
121- if len (message ) <= length :
122- # 对编码的数据进行加密,并通过base64进行编码
123- result = base64 .b64encode (cipher .encrypt (message .encode ('utf-8' )))
124- else :
125- rsa_text = []
126- # 对编码后的数据进行切片,原因:加密长度不能过长
127- for i in range (0 , len (message ), length ):
128- cont = message [i :i + length ]
129- # 对切片后的数据进行加密,并新增到text后面
130- rsa_text .append (cipher .encrypt (cont .encode ('utf-8' )))
131- # 加密完进行拼接
132- cipher_text = b'' .join (rsa_text )
133- # base64进行编码
134- result = base64 .b64encode (cipher_text )
135- return result .decode ()
105+ cipher = PKCS1_cipher .new (RSA .importKey (extern_key = public_key ,
106+ passphrase = secret_code ))
107+ # 处理:Plaintext is too long. 分段加密
108+ if len (message ) <= length :
109+ # 对编码的数据进行加密,并通过base64进行编码
110+ result = base64 .b64encode (cipher .encrypt (message .encode ('utf-8' )))
111+ else :
112+ rsa_text = []
113+ # 对编码后的数据进行切片,原因:加密长度不能过长
114+ for i in range (0 , len (message ), length ):
115+ cont = message [i :i + length ]
116+ # 对切片后的数据进行加密,并新增到text后面
117+ rsa_text .append (cipher .encrypt (cont .encode ('utf-8' )))
118+ # 加密完进行拼接
119+ cipher_text = b'' .join (rsa_text )
120+ # base64进行编码
121+ result = base64 .b64encode (cipher_text )
122+ return result .decode ()
136123
137124
138125def rsa_long_decrypt (message , pri_key : str | None = None , length = 256 ):
@@ -143,12 +130,11 @@ def rsa_long_decrypt(message, pri_key: str | None = None, length=256):
143130 :param length : 1024bit的证书用128,2048bit证书用256位
144131 :return: 解密后的数据
145132 """
146-
147133 if pri_key is None :
148134 pri_key = get_key_pair ().get ('value' )
149- cipher = PKCS1_cipher .new (RSA .importKey (pri_key , passphrase = secret_code ))
150- base64_de = base64 .b64decode (message )
151- res = []
152- for i in range (0 , len (base64_de ), length ):
153- res .append (cipher .decrypt (base64_de [i :i + length ], 0 ))
154- return b"" .join (res ).decode ()
135+ cipher = PKCS1_cipher .new (RSA .importKey (pri_key , passphrase = secret_code ))
136+ base64_de = base64 .b64decode (message )
137+ res = []
138+ for i in range (0 , len (base64_de ), length ):
139+ res .append (cipher .decrypt (base64_de [i :i + length ], 0 ))
140+ return b"" .join (res ).decode ()
0 commit comments