# 密码模块
# 导入对称密钥
- 参数:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| uKeyId | string | U盾Id | |
| containerId | string | 容器Id | |
| userPin | string | 用户PIN | |
| symmetricAlgFlag | string | 对称算法标示: 1:3DES 2:SM1 3:SM4 只支持SM1和SM4算法 | |
| symmetricKeyEncBySignPubKey | string | 使用签名公钥加密后的对称密钥, 十六进制字符串 |
- 返回结果:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| importFlag | string | 导入对称密钥结果 |
- 示例
simkey.sdk.importSymmetricKey({
data: {
uKeyId: '',
containerId: '',
userPin: '',
symmetricAlgFlag: '',
symmetricKeyEncBySignPubKey: ''
},
success(res) {
console.log("导入对称密钥结果:", res.data.importFlag)
},
fail(err) {
console.log("错误信息: %o", err)
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 对称加密
- 参数:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| uKeyId | string | U盾Id | |
| userPin | string | 用户PIN | |
| symmetricAlgFlag | string | 对称算法标示: 1:3DES 2:SM1 3:SM4 只支持SM1和SM4算法 | |
| modeOfOperation | string | 1:ecb 2:cbc | |
| iv | string | 初始向量, cbc模式下不能为空(16进制) | |
| sourceData | string | 要进行加密的数据(最好在外部填充,16byte的倍数位,否则内部进行pkcs#5填充,但解密不会去填充)16进制 |
- 返回结果:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| encryptInfo | string | 对称加密结果 |
- 示例
simkey.sdk.symmetricKeyEncrypt({
data: {
uKeyId: '',
userPin: '',
symmetricAlgFlag: '',
modeOfOperation: '',
iv: '',
sourceData: ''
},
success(res) {
console.log("加密结果:", res.data.encryptInfo)
},
fail(err) {
console.log("错误信息: %o", err)
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 对称解密
- 参数:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| uKeyId | string | U盾Id | |
| userPin | string | 用户PIN | |
| symmetricAlgFlag | string | 对称算法标示: 1:3DES 2:SM1 3:SM4 只支持SM1和SM4算法 | |
| modeOfOperation | string | 1:ecb 2:cbc | |
| iv | string | 初始向量, cbc模式下不能为空(16进制) | |
| cipherData | string | 要进行解密的数据, 方法不会去填充,需要在外部自己去填充(16进制) |
- 返回结果:
| 参数 | 数据类型 | 说明 | 备注 |
|---|---|---|---|
| decryptInfo | string | 对称解密结果 |
- 示例
simkey.sdk.symmetricKeyDecrypt({
data: {
uKeyId: '',
userPin: '',
symmetricAlgFlag: '',
modeOfOperation: '',
iv: '',
cipherData: ''
},
success(res) {
console.log("对称解密结果:", res.data.decryptInfo)
},
fail(err) {
console.log("错误信息: %o", err)
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16