简介
Crypto 连接器提供常用的对称、非对称和 PGP 加解密功能。
操作说明
连接器配置说明
步骤1:创建连接器
单击 + 弹出组件筛选框,选择 Crypto 组件。根据业务场景选择不同的操作类型。

 

步骤2:新建连接配置
1. 单击新建,创建 Crypto 连接器配置。

 

2. 设置配置名称,用户自定义即可,并单击下一步。

 

3. 配置加密方式及密钥配置。

 

参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
加密方式  | enum  | 对称加密、非对称加密、PGP 混合加密  | 是  | -  | 
不同加密方式对应的配置如下:
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
密钥填充模式  | enum  | PBKDF2、NO_PADDING、ZERO_PADDING  | 是  | PBKDF2  | 
PBKDF2模式
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
PBKDF2哈希算法  | enum  | MD5、SHA1、SHA224、SHA256、SHA384、SHA512  | 是  | SHA256  | 
PBKDF2盐值  | string  | PBKDF2盐值  | 是  | -  | 
PBKDF2迭代次数  | int  | PBKDF2迭代次数  | 是  | 0  | 
口令  | string  | 密码  | 是  | -  | 
NO_PADDING 或 ZERO_PADDING 模式
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
密钥  | string  | 加密密钥  | 是  | -  | 
注意:
密钥长度限制与组件配置-通用中选择的加密算法有关,AES/16字节,DES/8字节,3DES/24字节。
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
PGP 私钥证书  | string  | PGP 私钥文件  | 是  | -  | 
PGP 公钥证书  | string  | PGP 公钥证书  | 是  | -  | 
PGP 钥匙串  | map  | 指纹和密码对信息  | 是  | -  | 
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
私钥证书  | string  | 私钥文件  | 是  | -  | 
公钥证书  | string  | 公钥证书  | 是  | -  | 
组件配置说明
Crypto 组件目前支持对称加密、对称解密、非对称加密、非对称解密、PGP 加密、PGP 解密、PGP 签名、PGP 验签等操作,连接器配置新建完毕后进行组件的通用配置。
参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
加密算法  | enum  | AES、DES、3DES  | 是  | AES  | 
加密模式  | enum  | CBC、ECB  | 是  | CBC  | 
随机向量  | string  | CBC 加密模式必填,长度跟密钥长度一致  | CBC 加密模式必填  | -  | 
明文  | entity  | 待加密内容  | 是  | -  | 
内容填充模式  | enum  | PKCS5_PADDING、ZERO_PADDING、PKCS7_PADDING、NO_PADDING  | 是  | PKCS5_PADDING  | 
CBC 加密模式
选择 CBC 加密模式时,随机向量必填,长度跟密钥长度一致,再填写明文和填充模式即可。

 

ECB 加密模式
当选择 ECB 加密模式时,只需填写明文和填充模式,无其他配置项。

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回加密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
对称加密案例
1. 添加 Crypto 连接器组件,选择对称加密操作。

 

2. 在配置中,填写相关参数。例如:待加密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes('test', mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含了加密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
加密算法  | enum  | AES、DES、3DES  | 是  | AES  | 
加密模式  | enum  | CBC、ECB  | 是  | CBC  | 
随机向量  | string  | CBC加密模式必填,长度跟密钥长度一致  | CBC加密模式必填  | -  | 
明文  | entity  | 待解密内容  | 是  | -  | 
内容填充模式  | enum  | PKCS5_PADDING、ZERO_PADDING、PKCS7_PADDING、NO_PADDING  | 是  | PKCS5_PADDING  | 
CBC 加密模式
选择 CBC 加密模式时,随机向量必填,长度跟密钥长度一致,再填写明文和填充模式即可。

 

ECB 加密模式
当选择 ECB 加密模式时,只需填写明文和填充模式,无其他配置项。

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 Message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回解密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
对称解密案例
1. 添加 Crypto 连接器组件,选择对称解密操作。

 

2. 在配置中,填写相关参数。例如:待解密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes(msg.payload, mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含了解密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
加密算法  | enum  | RSA  | 是  | RSA  | 
明文  | entity  | 待加密内容  | 是  | -  | 
填充模式  | enum  | RSA_PKCS1_PADDING、RSA_PKCS1_OAEP_PADDING  | 是  | RSA_PKCS1_PADDING  | 
RSA_PKCS1_OAEP_PADDING 模式
内容填充模式选择“RSA_PKCS1_OAEP_PADDING”时,配置如下:
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
OAEP 哈希算法  | enum  | MD5/SHA1、SHA224、SHA256、SHA384、SHA512  | 是  | SHA256  | 

 

RSA_PKCS1_PADDING 模式
内容填充模式选择“RSA_PKCS1_PADDING”时,无其他配置。

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回加密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
非对称加密案例
1. 添加 Crypto 连接器组件,选择非对称加密操作。

 

2. 在配置中,填写相关参数。例如:待加密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes('test', mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含了加密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
加密算法  | enum  | RSA  | 是  | RSA  | 
明文  | entity  | 待解密内容  | 是  | -  | 
填充模式  | enum  | RSA_PKCS1_PADDING、RSA_PKCS1_OAEP_PADDING  | 是  | RSA_PKCS1_PADDING  | 
RSA_PKCS1_OAEP_PADDING 模式
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
OAEP 哈希算法  | enum  | MD5/SHA1、SHA224、SHA256、SHA384、SHA512  | 是  | SHA256  | 

 

RSA_PKCS1_PADDING 模式
内容填充模式选择“RSA_PKCS1_PADDING”时, 无其他配置。

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回解密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
非对称解密案例
1. 添加 Crypto 连接器组件,选择非对称解密操作。

 

2. 在配置中,填写相关参数。例如:待解密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes(msg.payload, mime_type='text/plain', encoding='utf-8')
  配置界面如下:

 

3. 执行成功后,message payload 中包含了解密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
钥匙串 ID  | string  | 钥匙串 ID  | 是  | -  | 
加密算法  | enum  | CAST5、3DES、AES_128、AES_192、AES_256  | 是  | AES_128  | 
内容  | entity  | 待加密内容  | 是  | -  | 

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回加密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
PGP 加密案例
1. 添加 Crypto 连接器组件,选择 PGP 加密操作。

 

2. 在配置中,填写相关参数。例如:待加密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes("123456", mime_type='text/plain', encoding='utf-8')
配置界面如下:

 

3. 执行成功后,message payload 中包含了加密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
钥匙串 ID  | string  | 钥匙串 ID  | 是  | -  | 
内容  | entity  | 待解密内容  | 是  | -  | 

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回解密后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
PGP 解密案例
1. 添加 Crypto 连接器组件,选择 PGP 解密操作。

 

2. 在配置中,填写相关参数。例如:待解密内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes(msg.payload, mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含了加密后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
钥匙串 ID  | string  | 钥匙串 ID  | 是  | -  | 
签名算法  | enum  | MD5、SHA1、SHA224、SHA256、SHA384、SHA512  | 是  | AES_256  | 
内容  | entity  | 待签名内容  | 是  | -  | 

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回签名后的内容;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
PGP 签名案例
1. 添加 Crypto 连接器组件,选择 PGP 签名操作。

 

2. 在配置中,填写相关参数。例如:待签名内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes("123456", mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含了签名后的二进制内容:

 

参数配置
参数  | 数据类型  | 描述  | 是否必填  | 默认值  | 
钥匙串 ID  | string  | 钥匙串 ID  | 是  | -  | 
目标内容  | entity  | 待比较内容  | 是  | -  | 
期望内容  | entity  | 签名内容  | 是  | -  | 

 

输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性  | 值  | 
payload  | 执行成功后,payload 为 binary 类型,返回验证签名后的结果;执行失败后,payload 为空  | 
error  | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息  | 
attribute  | 继承上个组件的 attribute 信息  | 
variable  | 继承上个组件的 variable 信息  | 
PGP 验签案例
1. 添加 Crypto 连接器组件,选择 PGP 验签操作。

 

2. 在配置中,填写相关参数。例如:期望内容、目标内容使用 Dataway 表达式输入:
def dw_process(msg):return Entity.from_bytes(msg.payload, mime_type='text/plain', encoding='utf-8')def dw_process(msg):return Entity.from_bytes("123456", mime_type='text/plain', encoding='utf-8')
 配置界面如下:

 

3. 执行成功后,message payload 中包含验证签名是否正确的结果:

 
