国密加解密

国密加解密

注意:国密版本是收费的。若要使用,请项目组联系安全团队谈商务。

模块名称

  • powercrypt

模块引入

  • Weex

const powercrypt = app.requireModule("powercrypt");

  • H5

let powercrypt = requireModuleJs('powercrypt');

模块方法

  • setTelecomSMKeyFormat(boolean randomKey)

    • 初始化方法
    • 参数说明
      参数 说明
      randomKey randomKey:true,一次一密,密钥是随机的,针对非异步调用;false,密钥初始化后不会改变,针对异步调用
  • telecomSMEncrypt(String text, String key)

    • 加密接口,加密客户端的上送报文

    • 参数说明

      参数 说明
      text 待加密的报文信息
      key 用于加密报文的SM2公钥
    • 返参说明:String类型直接接收该方法结果,得到加密结果,如

      this.clientencrypt = telecomSMEncrypt("test123456", "SM2公钥")

  • telecomSMDecrypt(String text)

    • 解密接口,解密国密加密后报文

    • 参数说明:text:待解密的国密密文

    • 返参说明:String类型直接接收该方法结果,得到解密结果,如

      this.clientdecrypt = telecomSMDecrypt("国密密文")

报文通讯加解密流程

  • 国密版本,算法使用SM2+SM4+SM3
  • SM2:非对称加密算法。基于椭圆曲线密码(ECC)的公钥密码算法标准,提供数字签名,密钥交换,公钥加密,用于替换RSA/ECDSA/ECDH等国际算法;
  • SM3: 哈希算法。哈希结果为256 bits,用于替换MD5/SHA1/SHA256等国际算法;
  • SM4:对称加密算法。密钥长度和分组长度均为128 bits,主要用于无线局域网标准,用于替换DES/AES等算法;