1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/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()
|