简介
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 加密模式


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 |
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 中包含验证签名是否正确的结果:

