算法暴露接口(xhs、dy、ks、wx、hnw)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
702 B

7 months ago
  1. from Crypto.Cipher import AES
  2. from Crypto.Util.Padding import pad
  3. """
  4. 8.13 xhs-aes版本
  5. """
  6. def encrypt_aes_cbc(plaintext):
  7. """
  8. aes-cbc
  9. :param plaintext:
  10. :return:
  11. """
  12. key = "3061396677336d3671666c6c3264656a"
  13. iv = "6d686171686e6a6d723072736f6f336f"
  14. cipher = AES.new(bytes.fromhex(key), AES.MODE_CBC, bytes.fromhex(iv))
  15. ciphertext = cipher.encrypt(pad(bytes.fromhex(plaintext), AES.block_size))
  16. return ciphertext.hex()
  17. def aes_encrypt(plain_text):
  18. """
  19. hex字符串便于加密操作
  20. :param plain_text:
  21. :return:
  22. """
  23. array = "".join([hex(i)[2:] for i in plain_text])
  24. payload = encrypt_aes_cbc(array)
  25. return payload