本文介绍编码解码函数的语法规则,包括参数解释、函数示例等。

函数列表

类型 子类 函数 说明
编码与解码 字符串类型 str_encode 对字符串进行编码。
str_decode 对字符串进行解码。
Base64类型 base64_encoding 对数据进行Base64编码。
base64_decoding 对数据进行Base64解码。
HTML类型 html_encoding 对数据进行HTML编码。
html_decoding 对数据进行HTML解码。
URL类型 url_encoding 对URL类型数据进行URL编码。
url_decoding 对URL类型数据进行URL解码。
JSON Web Tokens(JWT)标准 jwt_encoding 基于JSON Web Token (JWT)标准,对JSON数据进行编码。
jwt_decoding 基于JSON Web Token (JWT)标准,将数据解码为原始JSON。
压缩与解压缩 Gzip压缩库 gzip_compress 将数据进行压缩并编码。
gzip_decompress 将压缩数据解压缩。
Zlib压缩库 zlib_compress 将数据进行压缩并编码。
zlib_decompress 将压缩数据解压缩。
加密与解密 AES类型 aes_encrypt 对数据进行AES加密。
aes_decrypt 对数据进行AES解密。
哈希摘要 MD5哈希 md5_encoding 对数据进行MD5编码。
SHA1哈希 sha1_encoding 对数据进行SHA1编码。

str_encode

按照指定的编码格式对字符串进行编码。
  • 函数格式

    str_encode(value, "utf8", errors="ignore"))
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意(自动转为String) 需要被编码的值。
    encoding String 编码格式,默认为utf8。支持ASCII。
    errors String 按照编码格式无法识别字符时的处理方式。取值包括:
    • ignore(默认值):忽略不做编码。
    • strict:直接报错,丢弃此条日志数据。
    • replace:使用半角问号(?)替换无法识别部分。
    • xmlcharrefreplace:使用对应XML字符替换无法识别部分。
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 示例1
      • 原始日志
        test: asewds
      • 加工规则
        e_set("f1", str_decode(str_encode("你好", "utf8"), "utf8"))
      • 加工结果
        test: asewds
        f1: 你好
    • 示例2
      • 原始日志
        f2: test 测试数据
      • 加工规则
        e_set("f1", str_encode(v("f2"), "ascii", errors="ignore"))
      • 加工结果
        f1:test 
        f2:test 测试数据
    • 示例3
      • 原始日志
        f2: test 测试数据
      • 加工规则
        e_set("f1", str_encode(v("f2"), "ascii", errors="strict"))
      • 加工结果

        执行时直接报错。

    • 示例4
      • 原始日志
        f2: test 测试数据
      • 加工规则
        e_set("f1", str_encode(v("f2"), "ascii", errors="replace"))
      • 加工结果
        f1:test ????
        f2:test 测试数据
    • 示例5
      • 原始日志
        f2: test 测试数据
      • 加工规则
        e_set("f1", str_encode(v("f2"), "ascii", errors="xmlcharrefreplace"))
      • 加工结果
        f1:test 测试数据
        f2:test 测试数据

str_decode

按照指定的编码格式对传入值进行解码。
  • 函数格式

    str_decode(value, "utf8", errors="ignore"))
    说明 str_decode只能处理Byte类型的数据。
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意(自动转为String) 需要被解码的值。
    encoding 任意(自动转为String) 编码格式,默认为utf8。 支持ASCII。
    errors 任意(自动转为String) 按照编码格式无法识别字符时的处理方式。取值包括:
    • ignore(默认值):忽略不做解码。
    • strict:直接报错,丢弃此条日志数据。
    • replace:使用半角问号(?)替换无法编解码部分。
    • xmlcharrefreplace:使用对应XML字符替换无法编解码部分。
  • 返回结果

    返回解码后的值。

  • 函数示例

    • 原始日志
      test: asewds
    • 加工规则
      e_set("encoding", str_decode(b'\xe4\xbd\xa0\xe5\xa5\xbd', "utf8", 'strict'))
    • 加工结果
      test: asewds
      encoding: 你好

base64_encoding

对数据进行Base64编码。
  • 函数格式

    base64_encoding(value, format=None)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 填入需要被编码的值。
    format String Base64编码协议。默认为format=RFC3548,还可以配置为format=RFC4648
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 原始日志
      str_en : data to be encoded
    • 加工规则
      e_set("str_base64",base64_encoding(v("str_en")))
    • 加工结果
      str_en : data to be encoded
      str_base64 : ZGF0YSB0byBiZSBlbmNvZGVk

base64_decoding

对数据进行Base64解码。
  • 函数格式

    base64_decoding(value, format=None)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被解码的值。
    format String Base64解码协议。默认为format=RFC3548,还可以配置为format=RFC4648
    说明 RFC4648的Base64解码协议使用等号(=)将被解码的值填充到4字节的倍数。
  • 返回结果

    返回解码后的字符串。

  • 函数示例

    • 原始日志
      str_de: ZGF0YSB0byBiZSBlbmNvZGVk
    • 加工规则
      e_set("str_de_base64",base64_decoding(v("str_de")))
    • 加工结果
      str_de: ZGF0YSB0byBiZSBlbmNvZGVk
      str_de_base64: data to be encoded

html_encoding

对数据进行HTML编码。
  • 函数格式

    html_encoding(value)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被编码的值。
  • 返回结果

    返回编码后字符串。

  • 函数示例

    • 原始日志
      str : <img class="size-medium wp-image-113" style="margin-left: 15px;" title="su1" src="http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg" alt="" width="300" height="194" />
    • 加工规则
      e_set("str_html_en",html_encoding(v("str")))
    • 加工结果
      str : <img class="size-medium wp-image-113" style="margin-left: 15px;" title="su1" src="http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg" alt="" width="300" height="194" />
      str_html_en : &lt;img class=&quot;size-medium wp-image-113&quot; style=&quot;margin-left: 15px;&quot; title=&quot;su1&quot; src=&quot;http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;194&quot; /&gt;

html_decoding

对数据进行HTML解码。
  • 函数格式

    html_decoding(value)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被解码的值。
  • 返回结果

    返回解码后字符串。

  • 函数示例

    • 原始日志
      str : &lt;img class=&quot;size-medium wp-image-113&quot; style=&quot;margin-left: 15px;&quot; title=&quot;su1&quot; src=&quot;http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;194&quot; /&gt;
    • 加工规则
      e_set("str_html_de",html_decoding(v("str")))
    • 加工结果
      str : &lt;img class=&quot;size-medium wp-image-113&quot; style=&quot;margin-left: 15px;&quot; title=&quot;su1&quot; src=&quot;http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;194&quot; /&gt;
      str_html_de : <img class="size-medium wp-image-113" style="margin-left: 15px;" title="su1" src="http://aliyundoc.com/wp-content/uploads/2008/10/su1-300x194.jpg" alt="" width="300" height="194" />

url_encoding

对URL类型数据进行URL编码。
  • 函数格式

    url_encoding(value)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被编码的值。
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 原始日志
      content : https://www.example.org/hello/asdah
    • 加工规则
      e_set("url",url_encoding(v("content")))
    • 加工结果
      content : https://www.example.org/hello/asdah
      url: https%3A%2F%www.example.org%2FHello%2Fasdah

url_decoding

对URL类型数据进行URL解码。
  • 函数格式

    url_decoding(value)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被解码的值。
  • 返回结果

    返回解码后的字符串。

  • 函数示例

    • 原始日志
      content : https%3A%2F%www.example.org%2FHello%2Fasdah
    • 加工规则
      e_set("URL",url_decoding(v("content")))
    • 加工结果
      content : https%3A%2F%www.example.org%2FHello%2Fasdah
      URL : https://www.example.org/hello/asdah

jwt_encoding

基于JSON Web Token(JWT)标准,对JSON数据进行编码。
说明 JSON Web Token(JWT)是一种开放标准(RFC7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。由于该信息经过数字签名,因此可以对其进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥或私钥对进行签名。更多信息,请参见JWT Introduction
  • 函数格式

    jwt_encoding(payload, key, algorithm="HS256", headers=None)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    payload Dict 需要进行编码的数据内容,JSON格式。JWT标准定义了以下7个字段,您也可以自定义字段:
    • iss:issuer,签发人。
    • exp:expiration time,过期时间。
    • sub:subject,主题。
    • aud:audience,受众。
    • nbf:Not Before,生效时间。
    • iat:Issued At,签发时间。
    • jti:JWT ID,编号。
    例如原始JSON数据如下所示:
    {
        "iss": "localhost",
        "sub": "name",
        "aud": "user",
        "address": {
            "street": "street number",
            "city": "hangzhou",
            "country": "china"
        }
    }
    key String JWT加密数据使用的密钥,与选定的加密算法相关:
    • 非对称加密算法:PEM格式编码的私钥。
    • 对称加密算法:密钥原文。
    algorithm String 对令牌进行签名的算法,默认是HS256。目前支持的算法有:HS256,HS384,HS512,ES256,ES256K,ES384,ES512,RS256,RS384,RS512,PS256,PS384,PS512,EdDSA
    headers Dict JWT编码头信息。默认取值为
    {
        "typ": "JWT",
        "alg": "HS256"
    }
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 示例1:对日志字段data的值进行编码。
      • 原始日志
        data: {"some": "payload"}
      • 加工规则
        e_set("jwt_token", jwt_encoding(v("data"),"secret", algorithm="HS256"))
      • 加工结果
        data:{"some": "payload"}
        jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U
    • 示例2:使用非对称加密算法对日志字段data的值进行编码。
      • 原始日志
        data: {"some": "payload"}
      • 加工规则
        e_set(
            "jwt_token",
            jwt_encoding(
                v("data"),
                "-----BEGIN RSA PRIVATE KEY-----\nMIICYQIBAAKBgQC1iaUr5cgShCn0127+w14XN297q/IviaewIeIJsKTZF1hBPsLn\nNIPsnqtQ9DFbjIyqyZvdmQFDJCSLpXaVc648yepnFDKbOfs3r+K4Crnpo2SuZmNV\nNDVEi4pECXlBz810zJY1wqVArM7qGAyCcRLBprwXB6wfEhk3CAP3c29+pwIDAQAB\nAoGAARo65I9arbIbxx7fz7BEDAQMK0YaDGvbltg91S07cw4PPSYybNEG1BMKm01A\nV3v9BrR+u9PIDC5WAnsYwiODqEoSyk8OwO1E2kWA6+MNclYYfVjaJeiRJ5PzCud/\niUObonptRzxuTng+u1oGuX7QwUhwGJdXVBUAtJFYwXR2qVECRQC5S+6vdFESRLSX\n7yBZVM6+49lZcdehMv0HwT17UseLvWcjeSbiogvv02HbYilrW9ZydKsixAWP5w/U\nS3L34CS811VcDQI9APrOiL7c1xg5fX8wAWv2d+e+MfZoB3ohb8671W3pmp3JVnjY\ntzhoYNNQmnmRQQWf7n3J63MQz4sYYNn0gwJEE/pl37Dw1MFnn0H/AOKt79LtKkGl\n+BFhSqbBFDzWmvBu4Fo9oQ3Lr63gzSCGSrb6JhkCIptz5hIJmOARozwdeebVozkC\nPQDwOqVmU3c/P8nB6oRiGditw1Jt1yTaSW6jkOyUc73iRngqFkIgqHGd1kWwDX4/\nWfoAyEhalY6Fh5s1COsCRQCy4b3hnQws5zz/gmGNnoyxn9N+A09ySaFtn2WkUlrR\nZ6DwoJz+n6EgjLY8z6ZQyv342iobO5zKkZHFvO9QYGqk7y8lJA==\n-----END RSA PRIVATE KEY-----\n",
                algorithm="RS256",
            ),
        )
      • 加工结果
        data:{"some": "payload"}
        jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0
    • 示例3:对日志字段data的值进行编码,指定签名算法为HS256,并指定headers。
      • 原始日志
        data: {"some": "payload"}
      • 加工规则
        e_set(
            "jwt_token",
            jwt_encoding(
                v("data"),
                "secret",
                algorithm="HS256",
                headers={"kid": "230498151c214b788dd97f22b85410a5"},
            ),
        )                                        
      • 加工结果
        data:{"some": "payload"}
        jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjIzMDQ5ODE1MWMyMTRiNzg4ZGQ5N2YyMmI4NTQxMGE1In0.eyJzb21lIjoicGF5bG9hZCJ9.gdQ884yjlnLnIrYjfQaClE6rJC2x8v2OP2s_eXOLhZA
    • 示例4:对日志字段data的值指定自定义JWT字段后进行编码。
      • 原始日志
        data: {"some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22"}
      • 加工规则
        e_set("jwt_token", jwt_encoding(v("data"),"secret"))
      • 加工结果
        data:{"some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22"}
        jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.c6MxZHdXsgASchQ1Mdqj208NO_3rNGjYnvo6c7HNAyk

jwt_decoding

基于JSON Web Token(JWT)标准,将数据解码为原始JSON。
说明 JSON Web Token(JWT)是一种开放标准(RFC7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。由于该信息经过数字签名,因此可以对其进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥或私钥对进行签名。更多信息,请参见JWT Introduction
  • 函数格式

    jwt_decoding(jwt_payload, key="", algorithms=None, options=None, audience=None, issuer=None, leeway=0)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    jwt_payload String 被解码的值。
    key String 解密数据使用的密钥,应与编码时使用的key保持一致。
    algorithm List 对令牌进行签名的算法,例如HS256。
    options Dict 扩展解码和验证选项。包括:
    • verify_signature:是否验证JWT加密签名,默认为True。
    • require: 编码数据中必须存在的字段,默认为空。例如["exp", "iat", "nbf"]
    • verify_aud:是否检查aud字段,默认为True。
    • verify_iss:是否检查iss字段,默认为True。
    • verify_exp:是否检查exp字段,默认为True。
    • verify_iat:是否检查iat字段,默认为True。
    • verify_nbf: 是否检查nbf字段,默认为True。
    例如{"require": ["aud"], "verify_aud": True}
    audience String/List 用于检查aud的值。

    若编码时设置aud参数且options扩展项中设置"require": ["aud"] 或者"verify_aud": True时,解码时必须设置该参数 。

    issuer String 用于检查iss的值。

    若编码时设置iss参数且options扩展项中设置"require": ["iss"] 或者"verify_iss": True时,解码时必须设置该参数 。

    leeway float 到期检查的时间间隔(以秒为单位)。
  • 返回结果

    返回解码后的字符串。

  • 函数示例

    • 示例1:对日志字段data的值进行解码,并指定解密的签名算法为HS256。
      • 原始日志
        data:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U
      • 加工规则
        e_set("data_decoded", jwt_decoding(v("data"), "secert", algorithms="HS256"))
      • 加工结果
        data_decoded: {"some": "payload"}
    • 示例2:使用公钥对日志字段data的值进行解码。
      • 原始日志
        data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0"
      • 加工规则
        e_set(
            "data_decoded",
            jwt_decoding(
                v("data"),
                "-----BEGIN RSA PUBLIC KEY-----\nMIGJAoGBALWJpSvlyBKEKfTXbv7DXhc3b3ur8i+Jp7Ah4gmwpNkXWEE+wuc0g+ye\nq1D0MVuMjKrJm92ZAUMkJIuldpVzrjzJ6mcUMps5+zev4rgKuemjZK5mY1U0NUSL\nikQJeUHPzXTMljXCpUCszuoYDIJxEsGmvBcHrB8SGTcIA/dzb36nAgMBAAE=\n-----END RSA PUBLIC KEY-----\n",
                algorithms="RS256",
            ),
        )                                        
      • 加工结果
        data_decoded: {"some": "payload"}
        data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0"
    • 示例3:对日志字段data的值进行编码,默认扩展解码和验证选项。
      • 原始日志
        data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"
      • 加工规则
        e_set(
            "data_decoded", jwt_decoding(v("data"), "secert", algorithms="HS256", options=None)
        )
      • 加工结果
        data_decoded:{
                "some": "payload",
                "iss": 9,
                "sub": "name",
                "nbf": 123,
                "iat": "22"
            }
        data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"
    • 示例4:对日志字段data的值进行编码,并指定部分扩展解码和验证选项。
      • 原始日志
        data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6Im5hbWUifQ.XwT9jqwofcdSP6olidbiYPC6CnZd36OEqCHZmGmooWM"
      • 加工规则
        e_set(
            "data_decoded",
            jwt_decoding(
                v("data"),
                "secret",
                algorithms="HS256",
                options={"require": ["iss"], "verify_iss": True},
                issuer="name",
            ),
        )
      • 加工结果
        data_decoded:{"some": "payload", "iss": "name"}
        data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6Im5hbWUifQ.XwT9jqwofcdSP6olidbiYPC6CnZd36OEqCHZmGmooWM"

gzip_compress

将数据进行压缩并编码。
  • 函数格式

    gzip_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")
  • 参数说明

    参数名称 参数类型 是否必填 说明
    data String 输入需要压缩的数据。
    compresslevel Int 用于控制压缩等级,可配置为0~9的整数。默认值为6。
    • 1:压缩速度最快但压缩比例最小。
    • 9:压缩速度最慢但压缩比例最大。
    • 0:不压缩。
    to_format String 对压缩后的数据进行编码的格式,目前支持进行Base64和hex编码。
    encoding String 原始未压缩数据的编码格式,默认为utf-8,其他编码格式请参见标准编码格式
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 示例1:对日志字段进行压缩并Base64编码。
      • 原始日志
        content: I always look forward to my holidays whether I travel or stay at home.
      • 加工规则
        e_set("base64_encode_gzip_compress",gzip_compress(v("content"),to_format="base64"))
      • 加工结果
        content: I always look forward to my holidays whether I travel or stay at home.
        base64_encode_gzip_compress: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
    • 示例2:对日志字段进行并hex编码。
      • 原始日志
        content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
      • 加工规则
        e_set("hex_encode_gzip_compress", gzip_compress(v("content"), to_format="hex"))
      • 加工结果
        content:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
        hex_encode_gzip_compress:1f8b08004a478c6202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000

gzip_decompress

将压缩数据解压缩。
  • 函数格式

    gzip_decompress(data, from_format="base64", encoding="utf-8")
  • 参数说明

    参数名称 参数类型 是否必填 说明
    data 任意 输入需要解压的数据。
    from_format String 解压数据的编码格式,目前支持Base64和hex格式解码。
    encoding String 原始未压缩数据的编码格式,默认utf-8,其他编码格式请参见标准编码格式
  • 返回结果

    返回解压后的对象。

  • 函数示例

    • 示例1:对日志字段进行Base64解码。
      • 原始日志
        content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
      • 加工规则
        e_set("gzip_decompress",gzip_decompress(v("content"),from_format="base64"))
      • 加工结果
        content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
        gzip_decompress: I always look forward to my holidays whether I travel or stay at home.
    • 示例2:对日志字段进行hex解码。
      • 原始日志
        content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000
      • 加工规则
        e_set("gzip_decompress", gzip_decompress(v("content"), from_format="hex"))
      • 加工结果
        content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000
        gzip_decompress:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA

zlib_compress

将数据进行压缩并编码。
  • 函数格式

    zlib_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")
  • 参数说明

    数说明
    参数名称 参数类型 是否必填 说明
    data String 输入需要压缩的数据。
    compresslevel Int 用于控制压缩等级,可配置为0~9的整数。默认值为6。
    • 1:压缩速度最快但压缩比例最小。
    • 9:压缩速度最慢但压缩比例最大。
    • 0:不压缩。
    to_format String 对压缩后的数据进行编码的格式,目前只支持进行Base64编码。
    encoding String 原始未压缩数据的编码格式,默认为utf-8,其他编码格式请参见标准编码格式
  • 返回结果

    返回编码后的对象。

  • 函数示例

    • 原始日志
      content: I always look forward to my holidays whether I travel or stay at home.
    • 加工规则
      e_set("zlib_compress", zlib_compress(v("content"), to_format="base64"))
    • 加工结果
      zlib_compress: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln"
      content: "I always look forward to my holidays whether I travel or stay at home."

zlib_decompress

将压缩数据解压缩。
  • 函数格式

    zlib_decompress(data, from_format="base64", encoding="utf-8")
  • 参数说明

    参数名称 参数类型 是否必填 说明
    data String 输入需要解压的数据。
    from_format String 解压数据的编码格式,目前只支持Base64编码。
    encoding String 编码格式,默认utf-8,其他编码格式请参见标准编码格式
  • 返回结果

    返回解压后的对象。

  • 函数示例

    • 原始日志
      content: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln"
    • 加工规则
      e_set("zlib_decompress", zlib_decompress(v("content"), from_format="base64"))
    • 加工结果
      content: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln"
      zlib_decompress: "I always look forward to my holidays whether I travel or stay at home."

aes_encrypt

对数据进行AES加密。高级加密标准AES(Advanced Encryption Standard)为最常见的对称加密算法。对数据进行AES加密,能有效提升数据安全性。
  • 函数格式

    aes_encrypt(data, key, mode, pad_style, pad_block, input_format, input_encoding, output_format, iv)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    data String 需要被加密的数据。
    key String 加密数据使用的密钥。
    mode String AES加密模式。
    • CBC(默认值):Cipher Block Chaining
    • ECB:Electronic Codebook Book
    • CFB:Cipher FeedBack
    • OFB:Output FeedBack
    • CTR:Counter
    • OPENPGP
    pad_style String 填充模式。默认为pkcs7。可取值为iso7816、x923和pkcs7。
    input_format String 字符格式。默认为raw。可取值包括:
    • raw:Bytes格式
    • hex:十六进制格式
    • base64:Base64编码格式
    input_encoding String 仅当input_format取值为raw时需要配置。配置字符编码格式。默认为uft-8。
    output_format String 输出字符格式。默认为hex。可取值包括:
    • raw:Bytes格式
    • hex:十六进制格式
    • base64:Base64编码格式
    iv Bytes 加密使用偏移量。
  • 返回结果

    返回加密后的字符串。

  • 函数示例

    • 示例1
      • 原始日志
        "test": "aliyuntest"
      • 加工规则
        e_set('result',aes_encrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", output_format="base64"))
      • 加工结果
        "result":"gXIqu0cBBtZHQxJBK8GLeA=="
    • 示例2
      • 原始日志
        "test": "aliyuntest"
      • 加工规则
        e_set('result',aes_encrypt(v("test"), "qwertyuiopasdfgh", iv=b"ywisnjaduaqibdqi", mode="OFB"))
      • 加工结果
        "result":  "5cac3e9e1c42f713dc6d"

aes_decrypt

对已加密数据进行AES解密。
  • 函数格式

    aes_decrypt(data, key, mode, pad_style, input_format, input_encoding, output_format, iv, output_encoding)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    data String 需要被解密的数据。
    key String 解密数据使用的密钥。
    mode String AES解密模式。
    • CBC(默认值):Cipher Block Chaining
    • ECB:Electronic Codebook Book
    • CFB:Cipher FeedBack
    • OFB:Output FeedBack
    • CTR:Counter
    • OPENPGP
    pad_style String 填充模式。默认为pkcs7。可取值为iso7816、x923和pkcs7。
    input_format String 字符格式。默认为hex。可取值包括:
    • raw:Bytes格式
    • hex:十六进制格式
    • base64:Base64编码格式
    input_encoding String 仅当input_format取值为raw时需要配置。配置字符编码格式。默认为uft-8。
    output_format String 输出字符格式。默认为raw。可取值包括:
    • raw:Bytes格式
    • hex:十六进制格式
    • base64:Base64编码格式
    iv Bytes 解密使用偏移量。
    output_encoding String 配置输出字符编码格式。默认为None。
  • 返回结果

    返回解密后的字符串。

  • 函数示例

    • 示例1
      • 原始日志
        "test": "gXIqu0cBBtZHQxJBK8GLeA=="
      • 加工规则
        e_set('result', aes_decrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", input_format="base64"))
      • 加工结果
        "result": "aliyuntest"
    • 示例2
      • 原始日志
        "test": "5cac3e9e1c42f713dc6d"
      • 加工规则
           e_set('result', aes_decrypt(v("test"), "qwertyuiopasdfgh", iv=b"ywisnjaduaqibdqi", mode="OFB"))
      • 加工结果
        "result": "aliyuntest"

md5_encoding

对数据进行MD5编码。
  • 函数格式

    md5_encoding(value, format="hex")
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被编码的值。
    format String 默认值为hex,可选值:binary、hex。
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 示例1
      • 原始日志
        str : GeeksforGeeks
      • 加工规则
        e_set("str_md5_en",md5_encoding(v("str")))
      • 加工结果
        str : GeeksforGeeks
        str_md5_en : f1e069787ece74531d112559945c6871
    • 示例2
      • 原始日志
        str : GeeksforGeeks
      • 加工规则
        e_set("str_md5_en",base64_encoding(md5_encoding(v("str"), format="binary")))
      • 加工结果
        str : GeeksforGeeks
        str_md5_en : 8eBpeH7OdFMdESVZlFxocQ==

sha1_encoding

对数据进行SHA-1编码。
  • 函数格式

    sha1_encoding(value, format=None)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value String 被编码的值。
    format String 编码类型,默认为SHA1类型,可选SHA256、SHA384、SHA224、SHA512类型。
  • 返回结果

    返回编码后的字符串。

  • 函数示例

    • 原始日志
      str : GeeksforGeeks
    • 加工规则
      e_set("str_sha1",sha1_encoding(v("str")))
      e_set("str_sha512",sha1_encoding(v("str"),format='SHA512'))
      e_set("str_sha224",sha1_encoding(v("str"),format='SHA224'))
      e_set("str_sha384",sha1_encoding(v("str"),format='SHA384'))
      e_set("str_sha256",sha1_encoding(v("str"),format='SHA256'))
    • 加工结果
      str : GeeksforGeeks
      str_sha1 : 4175a37afd561152fb60c305d4fa6026b7e79856
      str_sha512 : 0d8fb9370a5bf7b892be4865cdf8b658a82209624e33ed71cae353b0df254a75db63d1baa35ad99f26f1b399c31f3c666a7fc67ecef3bdcdb7d60e8ada90b722
      str_sha224 : 173994f309f727ca939bb185086cd7b36e66141c9e52ba0bdcfd145d
      str_sha384 : d1e67b8819b009ec7929933b6fc1928dd64b5df31bcde6381b9d3f90488d253240490460c0a5a1a873da8236c12ef9b3
      str_sha256 : f6071725e7ddeb434fb6b32b8ec4a2b14dd7db0d785347b2fb48f9975126178f