dxWhiteBox

来自于:开发者立即使用

附录

概述

本模块封装了白盒加密SDK,白盒加密SDK是顶象技术开发的一款面向移动应用客户端安全保护的产品。旨在帮助客户端低成本接入高标准的安全保护机制,免受恶意安全攻击,从而集中精力建设业务本身。

android配置:

(1) 下载 dxWhiteBoxAppendix模块zip包并解压(解压后会看到一个dxWhiteBoxAppendix文件夹) (2) 从顶象后台下载sdk依赖 (3)将下载的文件中areambi文件夹下的直接替换进target根目录下,arm64-v8a、armeabi-v7a同步替换掉 (4)将sourcem目录下的assets和jar替换成自己下载的asserts和jar包 (5)最后将dxWhiteBoxAppendix压缩为zip,上传自定义模块打包即可使用

模块接口

protection

开启证书指定项的保护,仅ios支持

protection({params})

params

licensePath:

  • 类型:字符串
  • 描述:license文件路径,支持fs、widget

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.protectiond({
  licensePath:''
});

可用性

iOS系统

可提供的1.0.0及更高版本

encrypt

数据加密

encrypt({params},callback(ret))

params

input:

  • 类型:字符串
  • 描述:待加密数据

keyAlias:

  • 类型:keyAlias
  • 描述:(可选项)keyAlias key别名,如k0, k1, k2等等,详细内容参考附录:k0~k9使用说明

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     content:''  //字符串类型;加密后数据     
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.encrypt({
  input:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

decrypt

数据解密

decrypt({params},callback(ret))

params

input:

  • 类型:字符串
  • 描述:待加密数据

keyAlias:

  • 类型:keyAlias
  • 描述:(可选项)keyAlias key别名,如k0, k1, k2等等,详细内容参考附录:k0~k9使用说明

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     content:''  //字符串类型;解密后数据     
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.decrypt({
  input:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

sign

数据加签

sign({params},callback(ret))

params

input:

  • 类型:字符串
  • 描述:待加签的数据

keyAlias:

  • 类型:keyAlias
  • 描述:(可选项)key别名,如k1, k2等等,详细内容参考附录:k0~k9使用说明

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     content:''  //字符串类型;数据签名          
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.sign({
  input:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

verify

数据验签

verify({params},callback(ret))

params

input:

  • 类型:字符串
  • 描述:待验签的数据

keyAlias:

  • 类型:keyAlias
  • 描述:(可选项)key别名,如k1, k2等等,详细内容参考附录:k0~k9使用说明

sig:

  • 类型:字符串
  • 描述:数据签名

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     status:true //布尔类型;数据签名是否验证通过     
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.verify({
  input:'',
  sig:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

encryptWithSourceData

将数据加密到文件

encryptWithSourceData({params},callback(ret))

params

sourceData:

  • 类型:字符串
  • 描述:数据

destination:

  • 类型:字符串
  • 描述:加密文件路径、支持fs、widget;注意Android端不支持widget

keyAlias:

  • 类型:keyAlias
  • 描述:key别名,仅限"k0","k4","k5","k6","k9",详细内容参考附录:k0~k9使用说明

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     isSuccess:true, //布尔类型;是否成功     
     destination:''//字符串类型;加密文件路径
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.encryptWithSourceData({
  sourceData:'',
  destination:'',
  keyAlias:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

decryptWithSourceURL

读取加密的文件

decryptWithSourceURL({params},callback(ret))

params

source:

  • 类型:字符串
  • 描述:解密文件路径、支持fs、widget

keyAlias:

  • 类型:keyAlias
  • 描述:key别名,仅限"k0","k4","k5","k6","k9",详细内容参考附录:k0~k9使用说明

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
     isSuccess:true, //布尔类型;是否成功     
     source:'',//字符串类型;解密文件路径,仅ios支持
      data:''//字符串类型;解密数据
}

示例代码

var dxWhiteBox = api.require('dxWhiteBox');
dxWhiteBox.decryptWithSourceURL({
  source:'',
  keyAlias:''
},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

k0~k9使用说明

名字使用说明算法功能
k0每台设备随机生成,用于本地资源加解密AES加密,解密
k1白盒AES算法,性能优于普通AES算法,适用于各种情况WBAES加密,解密,加签,验签
k2SHA1哈希算法,适用于网络数据加签验签SHA1加签,验签
k3SHA256哈希算法,适用于网络数据加签验签SHA256加签,验签
k4普通的AES算法,适用于各种情况AES加密,解密,加签,验签
k5RC4算法,适用于各种情况RC4加密,解密,加签,验签
k6XXTEA对称加密算法,适用于各种情况XXTEA加密,解密,加签,验签
k7MD5哈希算法,适用于网络数据加签验签MD5加签,验签
k8国密SM3算法,适用于网络数据加签验签SM3加签,验签
k9国密SM4算法,适用于各种情况SM4加密,解密,加签,验签
K-Random顶象随机算法,适用于各种情况,Random加密,解密,加签,验签