1.2.0 • Published 8 months ago

@xnsk/crypto v1.2.0

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

web加解密通用组件

加解密使用前后端交互的方式,具体请详见加密设计文档。

安装

npm i @xnsk/crypto

yarn add @xnsk/crypto

pnpm add @xnsk/crypto

cnpm i @xnsk/crypto

使用

下面代码为示例代码,其中密钥片断、请求接口和参数为测试数据

  import { Crypto } from '@xnsk/crypto'
  
  const crypto = new Crypto({
    // 密钥
    rsaKey: 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCHEJojo33lFegWSRKwcibZgBoKO7oGfMTPGcUzPifl3QLT4Xo9czolYZ1hgaQh+birl9EP0LrRxosA9/QyiEBwHC0kut5GpbBNaJJSHwvYrd/IB12o96ZUoLYhg+Qf+4ejN45fylmAA6fJW2S6YMc8xi8kIc0X5oQIDAQAB',
    axios,
    onlyData: false  // 是否只返回data。false则将接口返回值全部返给前端
  })

  // 使用加密方式发起请求
  const res = await crypto.post('/api/login/xxx', {
    username: 'username',
    password: 'password',
  })

更多示例

const crypto = new Crypto({
  rsaKeyFragment: 'aJJSHwvYrd/IB12o96',
  axios,
})

// 生成aes key,默认32位
const key = crypto.generateAESKey()

// 使用密钥加密
const cipher = crypto.encrypt('Data String', key);

// 使用密钥解密
const data = crypto.decrypt(cipher, key);
1.2.0

8 months ago

1.1.1

10 months ago

1.0.2

10 months ago

1.1.0

10 months ago

1.0.0

1 year ago