#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @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()