mpfun.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from common import TassApi
  4. import base64
  5. # 将原数据按密评要求加密辅助类
  6. # 启动时检查相关表,如果sign为空,按规则将关键字段进行加密,将记录进行HMAC运算
  7. # 调用密码服务器[敏感信息数据加密]接口
  8. def enc_data(data: any)->str:
  9. try:
  10. return TassApi.TransparentEnc(str(data))
  11. except:
  12. return str(data)
  13. # 调用密码服务器[敏感信息数据解密]接口
  14. def dec_data(data: any)->str:
  15. try:
  16. return TassApi.TransparentDec(str(data))
  17. except:
  18. return str(data)
  19. # 调用密码服务器[计算HMAC]接口
  20. def sign_data(data: any)->str:
  21. try:
  22. return TassApi.Hmac(str(data))
  23. except:
  24. return str(data)
  25. # 对含有中文的数据进行BASE64处理
  26. def base64_data(val: str):
  27. data = val if val is not None else ''
  28. return str(base64.b64encode(data.encode("utf-8")), "utf-8")
  29. # 比较字段合并字符串是否和MAC值匹配上,调用密码服务器[验证HMAC]接口
  30. def hmac_verify(sign_data: str, sign_hmac: str) -> bool:
  31. try:
  32. return TassApi.HmacVerify(sign_data, sign_hmac)
  33. except:
  34. return False