提交 699afa7b 编写于 作者: X xwb

完善算法库中对称加解密和mac、md、rand的描述,补充错误码

Signed-off-by: Nxwb <xuwanbing1@huawei.com>
上级 1a4f4a76
...@@ -262,14 +262,14 @@ function stringToUint8Array(str) { ...@@ -262,14 +262,14 @@ function stringToUint8Array(str) {
return new Uint8Array(arr); return new Uint8Array(arr);
} }
// 字节流转成可理解的字符串 // 字节流以16进制输出
function uint8ArrayToShowStr(uint8Array) { function uint8ArrayToShowStr(uint8Array) {
return Array.prototype.map return Array.prototype.map
.call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2)) .call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2))
.join(''); .join('');
} }
// 字节流以16进制输出 // 字节流转成可理解的字符串
function uint8ArrayToString(array) { function uint8ArrayToString(array) {
let arrayString = ''; let arrayString = '';
for (let i = 0; i < array.length; i++) { for (let i = 0; i < array.length; i++) {
...@@ -381,14 +381,14 @@ function stringToUint8Array(str) { ...@@ -381,14 +381,14 @@ function stringToUint8Array(str) {
return new Uint8Array(arr); return new Uint8Array(arr);
} }
// 字节流转成可理解的字符串 // 字节流以16进制输出
function uint8ArrayToShowStr(uint8Array) { function uint8ArrayToShowStr(uint8Array) {
return Array.prototype.map return Array.prototype.map
.call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2)) .call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2))
.join(''); .join('');
} }
// 字节流以16进制输出 // 字节流转成可理解的字符串
function uint8ArrayToString(array) { function uint8ArrayToString(array) {
let arrayString = ''; let arrayString = '';
for (let i = 0; i < array.length; i++) { for (let i = 0; i < array.length; i++) {
...@@ -922,7 +922,7 @@ Mac(message authentication code)可以对消息进行完整性校验,通过使 ...@@ -922,7 +922,7 @@ Mac(message authentication code)可以对消息进行完整性校验,通过使
| 实例名 | 接口名 | 描述 | | 实例名 | 接口名 | 描述 |
| --------------- | ------------------------------------------------------------ | --------------------------------------------------- | | --------------- | ------------------------------------------------------------ | --------------------------------------------------- |
| cryptoFramework | function createMd(algName : string) : Md; | 指定摘要算法,生成消息认证码实例Mac | | cryptoFramework | function createMac(algName : string) : Mac; | 指定摘要算法,生成消息认证码实例Mac |
| Mac | init(key : SymKey, callback : AsyncCallback\<void\>) : void; | 接收输入对称密钥,通过Callback的方式,异步初始化MAC | | Mac | init(key : SymKey, callback : AsyncCallback\<void\>) : void; | 接收输入对称密钥,通过Callback的方式,异步初始化MAC |
| Mac | init(key : SymKey) : Promise\<void\>; | 接收输入对称密钥,通过Promise的方式,异步初始化MAC | | Mac | init(key : SymKey) : Promise\<void\>; | 接收输入对称密钥,通过Promise的方式,异步初始化MAC |
| Mac | update(input : DataBlob, callback : AsyncCallback\<void\>) : void; | 接受输入数据,通过Callback的方式,异步更新MAC | | Mac | update(input : DataBlob, callback : AsyncCallback\<void\>) : void; | 接受输入数据,通过Callback的方式,异步更新MAC |
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
- PKCS5:填充字符由一个字节序列组成,每个字节填充该填充字节序列的长度,规定是8字节填充; - PKCS5:填充字符由一个字节序列组成,每个字节填充该填充字节序列的长度,规定是8字节填充;
- PKCS7:填充字符和PKCS5填充方法一致,但是可以在1-255字节之间任意填充; - PKCS7:填充字符和PKCS5填充方法一致,但是可以在1-255字节之间任意填充;
> **说明:** ECB、CBC加密模式,明文长度不是128位整数倍,必须使用填充方法补足 > **说明:** ECB、CBC加密模式,明文长度不是128位整数倍,必须使用填充方法补足。<br/>由于需要填充至分组大小,所以实际算法库中的PKCS5和PKCS7都是以分组大小作为填充长度的,即AES加密填充至16字节。
- **对称3DES加解密** - **对称3DES加解密**
该算法的加解密过程分别是对明文/密文数据进行三次DES加密或解密,得到相应的密文或明文。 该算法的加解密过程分别是对明文/密文数据进行三次DES加密或解密,得到相应的密文或明文。
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
- PKCS5:填充字符由一个字节序列组成,每个字节填充该填充字节序列的长度,规定是8字节填充; - PKCS5:填充字符由一个字节序列组成,每个字节填充该填充字节序列的长度,规定是8字节填充;
- PKCS7:填充字符和PKCS5填充方法一致,但是可以在1-255字节之间任意填充; - PKCS7:填充字符和PKCS5填充方法一致,但是可以在1-255字节之间任意填充;
> **说明:** ECB、CBC加密模式,明文长度不是64位整数倍,必须使用填充方法补足 > **说明:** ECB、CBC加密模式,明文长度不是64位整数倍,必须使用填充方法补足。<br/>由于需要填充至分组大小,所以实际算法库中的PKCS5和PKCS7都是以分组大小作为填充长度的,即3DES加密填充至8字节。
- **非对称RSA加解密** - **非对称RSA加解密**
...@@ -116,19 +116,21 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息 ...@@ -116,19 +116,21 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
支持的对称密钥生成参数: 支持的对称密钥生成参数:
|对称密钥算法|密钥长度|生成密钥的字符串参数| |对称密钥算法|密钥长度(bit)|字符串参数|
|---|---|---| |---|---|---|
|3DES|192|3DES192| |3DES|192|3DES192|
|AES|128|AES128| |AES|128|AES128|
|AES|192|AES192| |AES|192|AES192|
|AES|256|AES256| |AES|256|AES256|
> **说明**:“字符串参数”是“对称密钥算法”和“密钥长度”拼接而成,用于在创建对称密钥生成器时,指定密钥规格。
**非对称密钥生成规格** **非对称密钥生成规格**
- **RSA密钥生成** - **RSA密钥生成**
支持的非对称密钥生成参数: 支持的非对称密钥生成参数:
|非对称密钥算法|密钥长度|素数个数|生成密钥的字符串参数| |非对称密钥算法|密钥长度(bit)|素数个数|字符串参数|
|---|---|---|---| |---|---|---|---|
|RSA|512|2|RSA512\|PRIMES_2| |RSA|512|2|RSA512\|PRIMES_2|
|RSA|768|2|RSA768\|PRIMES_2| |RSA|768|2|RSA768\|PRIMES_2|
...@@ -165,7 +167,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息 ...@@ -165,7 +167,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
支持的对称加密算法: 支持的对称加密算法:
|对称加解密算法|分组模式|指定算法名称字符串| |对称加解密算法|分组模式| 字符串参数 |
|---|---|---| |---|---|---|
|3DES|ECB|3DES192\|ECB\|[NoPadding\|PKCS5\|PKCS7]| |3DES|ECB|3DES192\|ECB\|[NoPadding\|PKCS5\|PKCS7]|
|3DES|CBC|3DES192\|CBC\|[NoPadding\|PKCS5\|PKCS7]| |3DES|CBC|3DES192\|CBC\|[NoPadding\|PKCS5\|PKCS7]|
...@@ -179,7 +181,9 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息 ...@@ -179,7 +181,9 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
|AES|GCM|AES[128\|192\|256]\|GCM\|[NoPadding\|PKCS5\|PKCS7]| |AES|GCM|AES[128\|192\|256]\|GCM\|[NoPadding\|PKCS5\|PKCS7]|
|AES|CCM|AES[128\|192\|256]\|CCM\|[NoPadding\|PKCS5\|PKCS7]| |AES|CCM|AES[128\|192\|256]\|CCM\|[NoPadding\|PKCS5\|PKCS7]|
> **说明:** []中只能任选一项 > **说明:**
> 1. []中只能任选一项。
> 2. “字符串参数”是“对称加解密算法(含密钥长度)”、“分组模式”、“填充模式”拼接而成,用于在创建对称加解密实例时,指定对称加解密算法规格。
**非对称RSA加解密** **非对称RSA加解密**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册