@blazes/crypto
v2.0.0-miniprogram16
Published
加解密和签名相关
Downloads
65
Keywords
Readme
背景
通过签名防止用户使用脚本伪造请求,具体签名过程可见 标准签名流程 通过加密防止错误证书信任造成敏感数据泄漏,具体加密过程可见 数据传输与存储安全规范 尽管前端有泄漏密钥和加密方法的可能性,但通过代码的混淆等能防御大部分用户。
安装
npm
npm install @blazes/crypto
yarn
yarn add @blazes/crypto
API
方法
| 名称 | 说明 | 入参 | 回参 | | --------- | ------------------------ | ------------------------------------ | ------ | | setSecret | 设置全局的签名和加密密钥 | { encrypto?: string; sign?: string;} | void | | encrypt | 加密 | text, secret | string | | decrypt | 解密 | text, sceret | string | | sign | 签名 | ISignOption | string |
方法中的 sceret 参数可覆盖全局的密钥
ISignOption
| 属性 | 说明 | | 类型 |
| ------ | -------------------------------------- | ------------------ | ---- |
| verb | 请求方法 | string |
| path | 后端 API 路径,以/
开头,不包含?
| string |
| host | 主机名,不包含协议名 | string |
| header | x-yh-
开头的请求头 | string |
| body | 请求参数,如果是文件,可传入formData
| string | FormData |
| query | url
里?
后面的参数 | string |
axios 集成
提供了 axios 拦截器,注册后,可自动添加YH {Authoriztion}
。
instantce.interceptors.request.use((config) => {
return intercepeReq(host, config);
});
注意以下几点
- 由于后端的
host
和前端域名不一致,需要手动传入。 - 目前
path
从config
中读取,未拼接baseUrl