## 国产密码算法-sm4


### 安装

```bash
npm install @haici/gmsm4 --save
```


### 使用方法

#### 一、通过 baseKey 获取加密秘钥 key

约定 baseKey 为字符串（长度不限）

```javascript
import { genKey } from '@haici/gmsm4';

const key = genKey('123456789');
```


#### 二、使用 ECB 模式加密

key 要求为 32 位十六进制字符串 

```javascript
import sm4,{ genKey } from '@haici/gmsm4';

let text = 'This is 一段明文内容！';
let key = genKey('123456789');

let enData = sm4.encryptWithECB(key,text); //加密
let deData = sm4.encryptWithECB(key,enData); //解密
```

#### 三、使用 CBC 模式加密

iv 和 key 要求为 32 位十六进制字符串 

```javascript
import sm4, { genKey } from '@haici/gmsm4';

let text = 'This is 一段明文内容！';
let iv = '00000000000000000000000000000000';
let key = genKey('123456789');

let enData = sm4.encryptWithCBC(key,iv,text); //加密
let deData = sm4.decryptWithCBC(key,iv,enData); //解密
```