|
@@ -0,0 +1,38 @@
|
|
|
+
|
|
|
+
|
|
|
+'''
|
|
|
+@Author : liuyuqi
|
|
|
+@Contact : liuyuqi.gov@msn.cn
|
|
|
+@Time : 2019/10/14 12:05:11
|
|
|
+@Version : 1.0
|
|
|
+@License : (C)Copyright 2019
|
|
|
+@Desc : xshell xsftp加密解密算法
|
|
|
+'''
|
|
|
+
|
|
|
+from base64 import b64encode, b64decode
|
|
|
+from Crypto.Hash import MD5, SHA256
|
|
|
+from Crypto.Cipher import ARC4
|
|
|
+
|
|
|
+UserSid = "RcoIlS-1-5-21-3990929841-153547143-3340509336-1001".encode("utf-8")
|
|
|
+Pass = "root".encode("utf-8")
|
|
|
+rawPass = "klSqckgTSU0TfhYxu6MB1ayrbnu3qnTOEYXUVlZe9R1zdney".encode("utf-8")
|
|
|
+
|
|
|
+def encode():
|
|
|
+ """
|
|
|
+ 加密
|
|
|
+ """
|
|
|
+ cipher = ARC4.new(SHA256.new(UserSid).digest())
|
|
|
+ checksum = SHA256.new(Pass).digest()
|
|
|
+ ciphertext = cipher.encrypt(rawPass)
|
|
|
+ print(b64encode(ciphertext + checksum).decode())
|
|
|
+
|
|
|
+
|
|
|
+def decode():
|
|
|
+ data = b64decode(rawPass)
|
|
|
+ Cipher = ARC4.new(SHA256.new((UserSid)).digest())
|
|
|
+ ciphertext, checksum = data[:-SHA256.digest_size], data[-SHA256.digest_size:]
|
|
|
+ plaintext = Cipher.decrypt(ciphertext)
|
|
|
+ print(plaintext.decode())
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ decode()
|