@@ -63,35 +63,31 @@ def decrypt_pwd(self, encrypted_pwd):
63
63
decrypt_pwd = str (aes .decrypt (decrypt_base64 ), encoding = 'utf-8' )
64
64
return decrypt_pwd .rstrip ()
65
65
66
+ @property
67
+ def gen_pri_pub_key (self ):
68
+ rsa = RSA .generate (1024 )
69
+ private_key = rsa .exportKey ().decode ('utf8' )
70
+ with open ('pri.pem' , 'w' ) as f :
71
+ f .write (private_key )
72
+ public_key = rsa .publickey ().exportKey ().decode ('utf8' )
73
+ return public_key
74
+
66
75
@staticmethod
67
76
def de_js_encrypt (en_pwd ):
68
77
"""
69
78
解密通过jsencrypt.js文件加密的密码
70
79
:param en_pwd:
71
80
:return:
72
81
"""
73
-
74
- key = """-----BEGIN RSA PRIVATE KEY-----
75
- MIICWwIBAAKBgGhvDNv1H/3EGeNcS+ju3Ytx7QlWtvUi3KqV5U73md9G4Gyw+izQ
76
- uvYYnZ/rDZrHocLB2fVcSZKKj8vNxkkpNqv00OJCGbwzGcOtXOpsRpiY2qhd0kvR
77
- wglnN84h9kWq8C6oMe/eWwZkpsCQJMmtiHeHdzSUxHkf4mpwxUfVDqF5AgMBAAEC
78
- gYBKjjUs9qN/JDejJCohQh4xxgSGLTzyZpAIzHhnVsaoKs5faj1AL0e6Fzq4hzMw
79
- M6LdCk2TJ+5ySq97vQz5AA5B5nf0y4zokCwYn5vdFVVtZeyiVeY0LYSpEvBS0xHY
80
- G3SJWLjMEtql2k1xJ8/1jvFkMx5SJKzruFFTvkRKn4bRAQJBANAuL2HZDjgcqgeF
81
- M7pQOKR+MxJzkN0hWBap1yJ5HQnUPqsEyBD3/BIcffCk2rQkfxnMT7gbnbiWVUd7
82
- /Ioh+FkCQQCAbClrx7wQW26JMjRqSBVyHWm1RoYDi0/USs7B9mct2KNGkPVr8dAB
83
- nm/glt5Rs9ay2QHbI103TjSPP938xs4hAkB6oup4utQcjA5B1d8uH3nutQVDFl89
84
- VRo+Z5j7jttjYev09SEileOhi7VJIORRgLp7KRfBPkuAZNciAFE50l8pAkBYE9bE
85
- yRQ+07aX+grg6ddrkKizX08Cl0WFAFmVxf02AGLbPwhTpGFY+uUYT+DigEk8GIGh
86
- XjvMdqKtrMv/VgqBAkEAjqQqCyiK1R9INladDpt8PjAJZecr1PLVdulyzlHvMm2l
87
- CHd72qhDwZUKVQck56xLGpPVPBGyyMl+cjRhZ+mnIQ==
88
- -----END RSA PRIVATE KEY-----"""
89
-
90
- rsakey = RSA .importKey (key ) # 导入私钥
82
+ with open ('pri.pem' ) as f :
83
+ private_key = f .read ()
84
+ rsakey = RSA .importKey (private_key ) # 导入私钥
91
85
cipher = PKCS1_v1_5 .new (rsakey ) # 生成对象
86
+
92
87
missing_padding = len (en_pwd ) % 4
93
88
if missing_padding :
94
89
en_pwd += '=' * (4 - missing_padding )
95
- text = cipher . decrypt ( base64 .b64decode (en_pwd .encode ('utf-8 ' )), "ERROR" ) # 将密文解密成明文,返回的是一个bytes类型数据,需要自己转换成str
90
+ decode_data = base64 .b64decode (en_pwd .encode ('utf8 ' ))
96
91
92
+ text = cipher .decrypt (decode_data , "ERROR" ) # 将密文解密成明文,返回的是一个bytes类型数据,需要自己转换成str
97
93
return text .decode ('utf-8' )
0 commit comments