# tq-encrypt
### 开发文档
[UTS 语法](https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html)
[UTS API插件](https://uniapp.dcloud.net.cn/plugin/uts-plugin.html)
[UTS 组件插件](https://uniapp.dcloud.net.cn/plugin/uts-component.html)
[Hello UTS](https://gitcode.net/dcloud/hello-uts)
> **注意:**
>
> 如果需要支持web,本插件依赖第三方插件miniprogram-sm-crypto和crypto-js,你需要安装它。可以到插件的目录下安装`npm install`,也可以全局目录下安装`npm install miniprogram-sm-crypto crypto-js --save`,只支持Android、iOS不需要安装
### 使用说明
|名称|描述|参数|说明|支持平台|
|:--|:--|:--|:--|:--|
|md5Sync|md5加密|str:string|返回值:string 加密出来的字母是大写|Android、Web、iOS|
|base64EncodeSync|base64加密|str:string|返回值:string|Android、Web、iOS|
|base64DecodeSync|base64解密|str:string|返回值:string|Android、Web、iOS|
|sm4ECBEncryptSync|sm4 ECB加密|参数一:str:string 参数二:key:string|返回值:string js中sm4加密ECB一般为默认|Android、Web、iOS|
|sm4ECBDecryptSync|sm4 ECB解密|参数一:str:string 参数二:key:string|返回值:string|Android、Web、iOS|
|sm4CBCEncryptSync|sm4 CBC加密|参数一:str:string 参数二:key:string 参数三:iv:string|返回值:string|Android、Web、iOS|
|sm4CBCDecryptSync|sm4 CBC解密|参数一:str:string 参数二:key:string 参数三:iv:string|返回值:string|Android、Web、iOS|
|sm3EncryptSync|sm3加密|str:string|返回值:string|Android、Web、iOS|
|sm2EncryptSync|国产SM2非对称公钥加密|参数一:dataString : string 参数二:publicKey : string|返回值:string|Android、Web、iOS|
|sm2DecryptSync|国产SM2非对称私钥解密|参数一:dataString : string 参数二:privateKey : string|返回值:string|Android、Web、iOS|
|sm2PubSignSync|sm2私钥签名|参数一:dataString : string 参数二:privateKey : string|返回值:string|Android、Web、iOS|
|sm2PubSignValSync|sm2验签|参数一:dataString : string 参数二:publicKey : string 参数三:sign : string|返回值:boolean|Android、Web、iOS|
|aesEncryptSync|AES ECB对称加密|参数一:str:string 参数二:key:string [参数三:isHex: boolean(默认值为false,值为true是旧版返回HEX值)目前只有Android支持]|返回值:string `AES加密方式为ECB模式,返回的是base64加密数据`|Android、iOS、Web|
|aesDecryptSync|AES ECB对称解密|参数一:str:string 参数二:key:string [参数三:isHex: boolean(默认值为false,值为true是旧版返回HEX值)目前只有Android支持]|返回值:string `AES解密密方式为ECB模式`|Android、iOS、Web|
|sha1Sync|SHA1加密|str:string|返回值:string|Android、iOS、Web|
|sha256Sync|SHA256加密|str:string|返回值:string|Android、iOS、Web|
|rsaEncryptSync|RSA非对称加密|参数一:dataString : string 参数二:keyPair : KeyPair 参数三:type : KeyType|返回值:string|Android|
|rsaDecryptSync|RSA非对称解密|参数一:dataString : string 参数二:keyPair : KeyPair 参数三:type : KeyType|返回值:string|Android|
|rsaEncryptSync|RSA非对称加密|参数一:dataString : string 参数二:key:string|返回值:string(base64字符串)|iOS|
|rsaDecryptSync|RSA非对称解密|参数一:dataString : string 参数二:key:string|返回值:string|iOS|
|rsaSHA256PrivateSync|RSA SHA256签名|参数一:dataString : string 参数二:keyPair : KeyPair|返回值:string|Android|
|rsaMD5PrivateSync|RSA MD5签名|参数一:dataString : string 参数二:keyPair : KeyPair|返回值:string|Android|
|rsaSHA256PubValSync|RSA SHA256签名验签|参数一:dataString : string 参数二:result: string 参数三:keyPair : KeyPair|返回值:boolean|Android|
|rsaMD5PubValSync|RSA MD5签名验签|参数一:dataString : string 参数二:result: string 参数三:keyPair : KeyPair|返回值:boolean|Android|
|hmacSHA1Sync|hmacSHA1加密|参数一:plaintext : string 参数二:key : string|返回值:string|Android、iOS、Web|
|aesCBCEncryptSync|aes CBC加密|参数一:str:string 参数二:key:string 参数三:iv:string|返回值:string|Android、iOS、Web|
|aesCBCDecryptSync|aes CBC解密|参数一:str:string 参数二:key:string 参数三:iv:string|返回值:string|Android、iOS、Web|
|generateKeyPair|生成RSA KeyPair密钥|参数一:pubStr:string(只接受hex字符串) 参数二:privateStr:string(只接受hex字符串)|返回值:KeyPair|Android|
### 使用示例
``` html
```
### 注意
1、本插件包含原生第三方库需要配置gradle库和sdk库
[Android UTS扩展开发](https://uniapp.dcloud.net.cn/tutorial/run/uts-development-android.html)


HBuilder X新版本更新后需要升级gradle库,本人使用的版本是gradle8.2.1配置jdk路径为jdk17,其他版本可使用官方推荐版本
> ps: 如果有问题可以咨询作者,本人QQ:1307905648,也可以在评论区留言截图配置环境和错误信息