有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

Crypto 连接器提供常用的对称、非对称和 PGP 加解密功能。

操作说明

连接器配置说明

步骤1:创建连接器

单击 + 弹出组件筛选框,选择 Crypto 组件。根据业务场景选择不同的操作类型。



步骤2:新建连接配置

1. 单击新建,创建 Crypto 连接器配置。


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


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


参数
数据类型
描述
是否必填
默认值
加密方式
enum
对称加密、非对称加密、PGP 混合加密
-
不同加密方式对应的配置如下:
对称加密配置
PGP 加密配置
非对称加密配置
参数
数据类型
描述
是否必填
默认值
密钥填充模式
eunm
PBKDF2、NO_PADDING、ZERO_PADDING
PBKDF2
PBKDF2 模式
参数
数据类型
描述
是否必填
默认值
PBKDF2 哈希算法
eunm
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 验签等操作,连接器配置新建完毕后进行组件的通用配置。
对称加密
对称解密
非对称加密
非对称解密
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 中包含了加密后的二进制内容:
image-20210521114703633



参数配置

参数
数据类型
描述
是否必填
默认值
加密算法
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')
配置界面如下:
image-20210521115044004


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



参数配置

参数
数据类型
描述
是否必填
默认值
加密算法
enum
RSA
RSA
明文
entity
待加密内容
-
填充模式
enum
RSA_PKCS1_PADDING、RSA_PKCS1_OAEP_PADDING
RSA_PKCS1_PADDING
RSA_PKCS1_OAEP_PADDING 模式 内容填充模式选择“RSA_PKCS1_OAEP_PADDING”时,配置如下:
参数
数据类型
描述
是否必填
默认值
OAEP 哈希算法
eunm
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 中包含了加密后的二进制内容:
image-20210521114703633



参数配置

参数
数据类型
描述
是否必填
默认值
加密算法
enum
RSA
RSA
明文
entity
待解密内容
-
填充模式
enum
RSA_PKCS1_PADDING、RSA_PKCS1_OAEP_PADDING
RSA_PKCS1_PADDING
RSA_PKCS1_OAEP_PADDING 模式
参数
数据类型
描述
是否必填
默认值
OAEP 哈希算法
eunm
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中包含了解密后的二进制内容:
image-20210521114703633



参数配置

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

image-20210521114703633



输出

操作执行成功后,输出结果会保存在 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')
配置界面如下:
image-20210521115044004


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



参数配置

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

image-20210521114703633



输出

操作执行成功后,输出结果会保存在 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')
配置界面如下:
image-20210521115044004


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



参数配置

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

image-20210521114703633



输出

操作执行成功后,输出结果会保存在 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')
配置界面如下:
image-20210521115044004


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



参数配置

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

image-20210521114703633



输出

操作执行成功后,输出结果会保存在 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')
配置界面如下:
image-20210521115044004


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