xshell_tools.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env python
  2. # -*- encoding: utf-8 -*-
  3. '''
  4. @Author : liuyuqi
  5. @Contact : liuyuqi.gov@msn.cn
  6. @Time : 2019/10/14 12:05:11
  7. @Version : 1.0
  8. @License : (C)Copyright 2019
  9. @Desc : xshell xsftp加密解密算法
  10. '''
  11. from base64 import b64encode, b64decode
  12. from Crypto.Hash import MD5, SHA256
  13. from Crypto.Cipher import ARC4
  14. UserSid = "RcoIlS-1-5-21-3990929841-153547143-3340509336-1001".encode("utf-8")
  15. Pass = "root".encode("utf-8")
  16. rawPass = "klSqckgTSU0TfhYxu6MB1ayrbnu3qnTOEYXUVlZe9R1zdney".encode("utf-8")
  17. def encode():
  18. """
  19. 加密
  20. """
  21. cipher = ARC4.new(SHA256.new(UserSid).digest())
  22. checksum = SHA256.new(Pass).digest()
  23. ciphertext = cipher.encrypt(rawPass)
  24. print(b64encode(ciphertext + checksum).decode())
  25. def decode():
  26. data = b64decode(rawPass)
  27. Cipher = ARC4.new(SHA256.new((UserSid)).digest())
  28. ciphertext, checksum = data[:-SHA256.digest_size], data[-SHA256.digest_size:]
  29. plaintext = Cipher.decrypt(ciphertext)
  30. print(plaintext.decode())
  31. if __name__ == "__main__":
  32. decode()