备注:如果使用python3.* 在Windows进行开发,不要用windows系统安装M2Crypto,基本不会安装成功。可以使用vmware workstation或者virtualbox安装liunx或者Mac OS系统进行开发。

Python 2.*版本

  1. import base64
  2. import M2Crypto
  3. class RsaUtil:
  4. @staticmethod
  5. def encrypt(digest, private_key):
  6. digest=base64.b64encode(digest)
  7. result = ""
  8. while (len(digest) > 117):
  9. some = digest[0:117]
  10. digest = digest[117:]
  11. result += private_key.private_encrypt(some, M2Crypto.RSA.pkcs1_padding).encode("hex")
  12. result += private_key.private_encrypt(digest, M2Crypto.RSA.pkcs1_padding).encode("hex")
  13. return result
  14. if __name__ == "__main__":
  15. private_key = M2Crypto.RSA.load_key('8000013189_pri.pem')
  16. result= RsaUtil.encrypt("123456",private_key)
  17. print result

Python 3.*版本

  1. import base64
  2. import M2Crypto
  3. class RsaUtil:
  4. private_key = M2Crypto.RSA.load_key('8000013189_test.pem')
  5. @staticmethod
  6. def encrypt(digest, private_key):
  7. digest=base64.b64encode(digest.encode('utf-8'))
  8. result = ""
  9. while (len(digest) > 117):
  10. some = digest[0:117]
  11. digest = digest[117:]
  12. result += private_key.private_encrypt(some, M2Crypto.RSA.pkcs1_padding).hex()
  13. result += private_key.private_encrypt(digest, M2Crypto.RSA.pkcs1_padding).hex()
  14. return result
  15. if __name__ == "__main__":
  16. rsaUtil=RsaUtil()
  17. result=rsaUtil.encrypt("123456",RsaUtil.private_key)
  18. print(result)
文档更新时间: 2019-06-17 11:14   作者:support