このトピックでは、エンコードおよびデコード関数の構文とパラメーターについて説明します。 このトピックでは、関数の使用方法の例も示します。
関数
カテゴリ | サブカテゴリ | 関数 | 説明 |
エンコードとデコード | String | データをエンコードします。 | |
データをデコードします。 | |||
Base64 | Base64アルゴリズムを使用してデータをエンコードします。 | ||
Base64アルゴリズムを使用してデータをデコードします。 | |||
HTML | データをHTML形式でエンコードします。 | ||
HTMLエンコードされたデータをデコードします。 | |||
URL | データに対してURLエンコードを実行します。 | ||
データに対してURLデコードを実行します。 | |||
Protobuf | 指定したProtobufテンプレートを使用してデータをJSON形式に解析します。 | ||
JSON Webトークン (JWT) | JWT標準に基づいてJSONデータをエンコードします。 | ||
JWT標準に基づいて、データを生のJSONデータにデコードします。 | |||
ハシッド | Hashidsライブラリを使用してデータをエンコードします。 | ||
Hashidsライブラリを使用してエンコードされたデータをデコードします。 | |||
圧縮と解凍 | Gzip | データを圧縮およびエンコードします。 | |
圧縮データを解凍します。 | |||
Zlib | データを圧縮およびエンコードします。 | ||
圧縮データを解凍します。 | |||
暗号化と復号化 | Advanced Encryption Standard (AES) | AESアルゴリズムを使用してデータを暗号化します。 | |
AESアルゴリズムを使用してデータを復号化します。 | |||
ハッシュ (ダイジェスト) | MD5 | MD5アルゴリズムを使用してデータをエンコードします。 | |
SHA1 | SHA1アルゴリズムを使用してデータをエンコードします。 | ||
巡回冗長チェック (CRC) | データのCRCコードを計算します。 |
str_encode
str_encode関数は、指定されたエンコード形式を使用して文字列をエンコードします。
構文
str_encode(value, "utf8", errors="ignore")
パラメーター
パラメーター
データ型
必須
説明
value
任意 (文字列型に自動的に変換)
課金されます
エンコードする値。The value that you want to encode.
encoding
String
課金されません
エンコード形式。 デフォルト値は UTF-8 です。 ASCIIがサポートされています。
エラー
String
課金されません
エンコード形式に基づいて文字を認識できない場合に文字を処理するために使用されるメソッド。 有効な値:
ignore (デフォルト): 文字はエンコードされていません。
strict: エラーが報告され、ログが破棄されます。
replace: 認識できない文字は疑問符 (?) に置き換えられます。
xmlcharrefreplace: 認識できない文字はXML文字に置き換えられます。
レスポンス
エンコードされた文字列が返されます。
例
例 1
生ログ
test: asewds
変換ルール
e_set("f1", str_decode(str_encode("Hello", "utf8"), "utf8"))
結果
test: asewds f1: Hello
例 2
生ログ
f2: test Test data
変換ルール
e_set("f1", str_encode(v("f2"), "ascii", errors="ignore"))
結果
f1:test f2:test Test data
例 3
生ログ
f2: test Test data
変換ルール
e_set("f1", str_encode(v("f2"), "ascii", errors="strict"))
結果
実行中にエラーが報告されます。
例 4
生ログ
f2: test Test data
変換ルール
e_set("f1", str_encode(v("f2"), "ascii", errors="replace"))
結果
f1:test ???? f2:test Test data
例 5
生ログ
f2: test Test data
変換ルール
e_set("f1", str_encode(v("f2"), "ascii", errors="xmlcharrefreplace"))
結果
f1:test 测试数据 f2:test Test data
str_decode
str_decode関数は、指定されたエンコード形式を使用して入力値をデコードします。
構文
str_decode(value, "utf8", errors="ignore")
説明str_decode関数は、バイトデータ型のデータのみを処理できます。
パラメーター
パラメーター
データ型
必須
説明
value
任意 (文字列型に自動的に変換)
課金されます
デコードする値。The value that you want to decode.
encoding
任意 (文字列型に自動的に変換)
課金されません
エンコード形式。 デフォルト値は UTF-8 です。 ASCIIがサポートされています。
エラー
任意 (文字列型に自動的に変換)
課金されません
エンコード形式に基づいて文字を認識できない場合に文字を処理するために使用されるメソッド。 有効な値:
ignore (デフォルト): 文字はデコードされません。
strict: エラーが報告され、ログが破棄されます。
replace: 認識できない文字は疑問符 (?) に置き換えられます。
xmlcharrefreplace: 認識できない文字はXML文字に置き換えられます。
レスポンス
デコードされた値が返されます。
例
生ログ
test: asewds
変換ルール
e_set("encoding", str_decode(b'\xe4\xbd\xa0\xe5\xa5\xbd', "utf8", 'strict'))
結果
test: asewds encoding: Hello
base64_encoding
base64_encoding関数は、Base64アルゴリズムを使用してデータをエンコードします。
構文
base64_encoding(value, format=None)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
エンコードする値。The value that you want to encode.
フォーマット
String
課金されません
Base64エンコードスキーム。 有効な値:
RFC3548
およびRFC4648
デフォルト値: RFC3548。レスポンス
エンコードされた文字列が返されます。
例
Rawログ
str_en : data to be encoded
変換ルール
e_set("str_base64",base64_encoding(v("str_en")))
str_en結果
str_en : data to be encoded str_base64 : ZGF0YSB0byBiZSBlbmNvZGVk
base64_decoding
base64_decoding関数は、Base64アルゴリズムを使用してデータをデコードします。
構文
base64_decoding(value, format=None)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
デコードする値。The value that you want to decode.
フォーマット
String
課金されません
Base64デコードスキーム。 有効な値:
RFC3548
およびRFC4648
デフォルト値: RFC3548。説明RFC 4648の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_encoding関数は、データをHTML形式でエンコードします。
構文
html_encoding(value)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
エンコードする値。The value that you want to encode.
レスポンス
エンコードされた文字列が返されます。
例
生ログ
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 : <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" />
html_decoding
html_decoding関数は、HTML符号化データを復号する。
構文
html_decoding(value)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
デコードする値。The value that you want to decode.
レスポンス
デコードされた文字列が返されます。
例
生ログ
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_de",html_decoding(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_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_encoding関数は、データに対してURLエンコードを実行します。
構文
url_encoding(value, plus=False)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
エンコードする値。The value that you want to encode.
plus
ブール値
課金されません
スペースをプラス記号 (+) に変換するかどうかを指定します。 デフォルト値:False。 有効な値:
正しい
False
レスポンス
エンコードされた文字列が返されます。
例
例1: データに対してURLエンコードを実行します。
生のログの
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
例2: データに対してURLエンコードを実行します。 plusパラメーターを未設定のままにして、スペースがプラス記号 (+) に変換されないようにします。
生ログの
content : 1 2+3:4
変換ルール
e_set("URL",url_encoding(v("content")))
結果
content:1 2+3:4 URL:1%202%2B3%3A4
例3: データに対してURLエンコードを実行します。 plusパラメーターをTrueに設定して、スペースをプラス記号 (+) に変換します。
生ログの
content : 1 2+3:4
変換ルール
e_set("URL", url_encoding(v("content"), plus=True))
結果
content:1 2+3:4 URL:1+2%2B3%3A4
url_decoding
url_decoding関数は、データに対してURLデコードを実行します。
構文
url_decoding(value, plus=False)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
デコードする値。The value that you want to decode.
plus
ブール値
課金されません
プラス記号 (+) をスペースに変換するかどうかを指定します。 デフォルト値:False。 有効な値:
正しい
False
レスポンス
デコードされた文字列が返されます。
例
例1: データに対してURLのデコードを実行します。
生のログの
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
例2: データに対してURLのデコードを実行します。 plusパラメーターを未設定のままにして、プラス記号 (+) がスペースに変換されないようにします。
生ログの
content : /answer?event_date=2022-06-30+09%3A06%3A53%20123
変換ルール
e_set("URL",url_decoding(v("content")))
結果
content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30+09:06:53 123
例3: データに対してURLのデコードを実行します。 プラス記号 (+) をスペースに変換するには、plusパラメーターをTrueに設定します。
生ログの
content : /answer?event_date=2022-06-30+09%3A06%3A53%20123
変換ルール
e_set("URL",url_decoding(v("content"),plus=True))
結果
content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30 09:06:53 123
protobuf_decoding
protobuf_decoding関数は、指定されたProtobufテンプレートを使用してデータをJSON形式に解析します。
構文
protobuf_decoding(data, protocol, input_format="bytes", message_name=None)
パラメーター
パラメーター
データ型
必須
説明
data
String
課金されます
Protobuf-シリアル化されたデータ。
protocol
String
課金されます
Protobufテンプレート。
input_format
String
課金されません
データ型。 有効な値:
hex: 16進数
bytes: バイト
raw: バイト
base64: Base64-encoded
message_name
String
課金されません
取得するメッセージの名前。
レスポンス
message_nameを設定しない場合、関数はJSONリストを返します。 message_nameを設定すると、関数はJSONオブジェクトを返します。
例
例1: テンプレートを使用して、Base64でエンコードされたProtobufデータをJSON形式に解析します。
生ログ
{ "protocol": 'syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;} ', "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" }
変換ルール
e_set("data", protobuf_decoding(v("data"), v("protocol"), "base64", "Person"))
結果データ
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" } protocol:syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
例2: 高度なパラメーターからテンプレートを取得して、ProtobufデータをJSON形式に解析します。
生ログ
{ "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" }
変換ルール
e_set("data", protobuf_decoding( v("data"), res_local("protocol"), "base64", "Person" ) )
高度なパラメータ設定
[データ変換ジョブの作成] パネルで、高度なパラメーターを設定します。 keyを
protocol
に、valueをsyntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
に設定します。 詳細については、「データ変換ジョブの作成」をご参照ください。結果データ
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" }
例3: Object Storage Service (OSS) ファイルからテンプレートを取得して、ProtobufデータをJSON形式に解析します。
生ログ
{ "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" }
OSSファイルのコンテンツ
syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
変換ルール
e_set( "protocol", res_oss_file( endpoint="http://oss-cn-chengdu.aliyuncs.com", ak_id="your_ak_id", ak_key="your_ak_key", bucket="test-protobuf", file="test.json", ), ) e_set("data", protobuf_decoding(v("data"), v("protocol"), "base64", "Person"))
結果データ
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" } protocol:syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
jwt_encoding
jwt_encoding関数は、JWT標準に基づいてJSONデータをエンコードします。
JWTは、安全な方法でJSONオブジェクトとして当事者間で情報を送信するためのコンパクトで自己完結型の方法を定義するオープンスタンダードです。 詳細については、「RFC 7519」をご参照ください。 情報はデジタル署名され、検証および信頼が可能です。 JWTは、シークレットおよびHMACアルゴリズムを使用して署名することができる。 JWTは、公開 /秘密鍵ペアとRSAまたはECDSAアルゴリズムを使用して署名することもできます。 詳細については、「JSON Webトークンの概要」をご参照ください。
構文
jwt_encoding(payload, key, algorithms="HS256", headers=None)
パラメーター
パラメーター
データ型
必須
説明
payload
JSON
課金されます
エンコードする値。The value that you want to encode. 値は JSON 形式でなければなりません。 JWT規格は、以下のフィールドを定義する。 カスタムフィールドを定義することもできます。
iss: 発行者
exp: 有効期限
サブ: 件名
aud: オーディエンス
nbf: 前にない
iat: 発行日時
jti: JWT ID
次のサンプルコードは、生のJSONデータの例を示しています:
{ "iss": "localhost", "sub": "name", "aud": "user", "address": { "street": "street number", "city": "hangzhou", "country": "china" } }
キー
String
課金されます
JWTの暗号化に使用するキー。 キーは、選択した暗号化アルゴリズムによって異なります。
非対称暗号化アルゴリズム: PEMエンコードされた秘密鍵
対称暗号化アルゴリズム: 生のキー
アルゴリズム
String
課金されません
JWTの署名に使用するアルゴリズム。 デフォルト値: HS256。 有効な値:
HS256、HS384、HS512、ES256、ES256K、ES384、ES512、RS256、RS384、RS512、PS256、PS384、PS512、およびEdDSA
headers
JSON
課金されません
JWTヘッダーに関する情報。 デフォルト値:
{ "typ": "JWT", "alg": "HS256" }
レスポンス
エンコードされた文字列が返されます。
例
例1: データフィールドの値をエンコードします。
生ログの
data: {"some": "payload"}
変換ルール
e_set("jwt_token", jwt_encoding(v("data"),"secret", algorithms="HS256"))
結果
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U
例2: 非対称暗号化アルゴリズムを使用して、データフィールドの値をエンコードします。
生ログの
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", algorithms="RS256", ), )
結果
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0
例3: アルゴリズムパラメーターをHS256に設定し、データフィールドの値をエンコードするようにheadersパラメーターを設定します。
生ログの
data: {"some": "payload"}
変換ルール
e_set( "jwt_token", jwt_encoding( v("data"), "secret", algorithms="HS256", headers={"kid": "230498151c214b788dd97f22b85410a5"}, ), )
結果
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjIzMDQ5ODE1MWMyMTRiNzg4ZGQ5N2YyMmI4NTQxMGE1In0.eyJzb21lIjoicGF5bG9hZCJ9.gdQ884yjlnLnIrYjfQaClE6rJC2x8v2OP2s_eXOLhZA
例4: データフィールドのカスタム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
jwt_decoding関数は、JWT標準に基づいてデータを生のJSONデータにデコードします。
JWTは、安全な方法でJSONオブジェクトとして当事者間で情報を送信するためのコンパクトで自己完結型の方法を定義するオープンスタンダードです。 詳細については、「RFC 7519」をご参照ください。 情報はデジタル署名され、検証および信頼が可能です。 JWTは、シークレットおよびHMACアルゴリズムを使用して署名することができる。 JWTは、公開 /秘密鍵ペアとRSAまたはECDSAアルゴリズムを使用して署名することもできます。 詳細については、「JSON Webトークンの概要」をご参照ください。
構文
jwt_decoding(jwt_payload, key="", algorithms=None, options=None, audience=None, issuer=None, leeway=0)
パラメーター
パラメーター
データ型
必須
説明
jwt_payload
String
課金されます
デコードする値。The value that you want to decode.
key
String
課金されます
データの復号化に使用するキー。 このキーは、エンコードに使用されるキーと同じである必要があります。
algorihms
List
課金されません
JWTの署名に使用するアルゴリズム。 例: HS256。
options
JSON
課金されません
デコードと検証のための拡張オプション。 有効な値:
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
文字列 /リスト
課金されません
audフィールドの値をチェックします。
audフィールドがエンコーディング用に指定され、
"require": ["aud"]
または"verify_aud": True
がoptionsパラメーターに指定されている場合は、このパラメーターを設定する必要があります。issuer
String
課金されません
issフィールドの値をチェックします。
issフィールドがエンコードに指定され、
"require": ["iss"]
または"verify_iss": True
がoptionsパラメーターに指定されている場合は、このパラメーターを設定する必要があります。leeway
float
課金されません
有効期限チェックが実行される間隔。 単位は秒です。
レスポンス
デコードされた文字列が返されます。
例
例1: 復号化の署名アルゴリズムをHS256に設定して、データフィールドの値を復号化します。
生ログの
data:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U
変換ルール
e_set("data_decoded", jwt_decoding(v("data"), "secret", algorithms="HS256"))
結果
data_decoded: {"some": "payload"}
例2: 公開キーを使用して、データフィールドの値をデコードします。
生ログの
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: optionsパラメーターのデフォルト値を使用して、データフィールドの値をデコードします。
生ログの
data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"
変換ルール
e_set( "data_decoded", jwt_decoding(v("data"), "secret", algorithms="HS256", options=None) )
結果
data_decoded:{ "some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22" } data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"
例4: optionsパラメーターのカスタム値を指定して、データフィールドの値をデコードします。
生ログの
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"
hashids_encoding
hashids_encoding関数は、Hashidsライブラリを使用してデータをエンコードします。
構文
hashids_encoding(value, salt="", min_length=0)
パラメーター
パラメーター
データ型
必須
説明
value
番号、リスト、またはタプル
課金されます
エンコードする値。The value that you want to encode.
このパラメーターに数値を指定する場合は、0以上の数値を指定する必要があります。
塩
String
課金されません
値に追加する塩です。 デフォルト値: 空の文字列。
min_length
回
課金されません
生成されるハッシュ値の最小長。 デフォルト値:0
レスポンス
エンコードされた文字列が返されます。
例
例1: デフォルトのsaltと最小ハッシュ値の長さを使用して数値をエンコードします。
生ログの
content:test
変換ルール
e_set("hashid", hashids_encoding(123))
結果
content:test hashid:Mj3
例2: カスタムのsaltと最小ハッシュ値の長さを使用してリストデータをエンコードします。
生ログの
content:test
変換ルール
e_set("hashid", hashids_encoding([123, 456], salt="test"))
結果
content:test hashid:bpBHYO
例3: カスタムのsaltと最小ハッシュ値の長さを使用してリストデータをエンコードします。
生ログの
content:test
変換ルール
e_set("hashid", hashids_encoding([123, 456], salt="test", min_length=32))
結果
content:test hashid:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
例4: カスタムのソルトと最小ハッシュ値の長さを使用してタプルデータをエンコードします。
生ログの
content:test
変換ルール
e_set("hashid", hashids_encoding((123, 456), salt="test", min_length=32))
結果
content:test hashid:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
hashids_decoding
hashids_decoding関数は、Hashidsライブラリを使用してエンコードされたデータをデコードします。
構文
hashids_decoding(hashid, salt="", min_length=0)
パラメーター
パラメーター
データ型
必須
説明
hashid
String
課金されます
デコードする値。The value that you want to decode.
salt
String
課金されません
値に追加する塩です。 デフォルト値: 空の文字列。
min_length
Number
課金されません
生成されるハッシュ値の最小長。 デフォルト値:0
レスポンス
デコードされた文字列が返されます。
例
例1: デフォルトのsaltと最小ハッシュ値の長さを使用して、エンコードされた数値をデコードします。
生ログ
content:Mj3
変換ルール
e_set("value", hashids_decoding(v("content")))
結果
content:Mj3 value:[123]
例2: カスタムソルトとデフォルトの最小ハッシュ値長を使用して、エンコードされたリストデータをデコードします。
生ログ
content:bpBHYO
変換ルール
e_set("value", hashids_decoding(v("content"), salt="test"))
結果
content:bpBHYO value:[123, 456]
例3: カスタムのソルトと最小ハッシュ値の長さを使用して、エンコードされたリストデータをデコードします。
生のログ
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
変換ルール
e_set("value", hashids_decoding(v("content"), salt="test", min_length=32))
結果
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g value:[123, 456]
例4: カスタムのソルトと最小ハッシュ値の長さを使用して、エンコードされたタプルデータをデコードします。
生のログ
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
変換ルール
e_set("value", hashids_decoding(v("content"), salt="test", min_length=32))
結果
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g value:[123, 456]
gzip_compress
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関数は、圧縮データを解凍します。
構文
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関数は、データを圧縮およびエンコードします。
構文
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結果
zlib_compress: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" content: "I always look forward to my holidays whether I travel or stay at home."
zlib_decompress
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_encrypt関数は、AESアルゴリズムを使用してデータを暗号化します。 AESアルゴリズムは、使用される一般的な対称暗号化アルゴリズムである。 データのセキュリティを向上させるために、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: 暗号ブロックチェーン (デフォルト)
ECB: 电子コードブック
CFB: 暗号フィードバック
OFB: 出力フィードバック
CTR: カウンター
OPENPGP
pad_style
String
課金されません
パディングモード。 デフォルト値: pkcs7。 有効な値: iso7816、x923、およびpkcs7。
input_format
String
課金されません
入力文字の形式。 デフォルト値: raw。 有効な値:
raw: バイト
hex: 16進数
base64: Base64エンコード
input_encoding
String
課金されません
入力文字のエンコード形式。 このパラメーターは、input_formatパラメーターをrawに設定した場合にのみ必要です。 デフォルト値: utf-8
output_format
String
課金されません
出力文字の形式。 デフォルト値: hex。 有効な値:
raw: バイト
hex: 16進数
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_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: 暗号ブロックチェーン (デフォルト)
ECB: 电子コードブック
CFB: 暗号フィードバック
OFB: 出力フィードバック
CTR: カウンター
OPENPGP
pad_style
String
課金されません
パディングモード。 デフォルト値: pkcs7。 有効な値: iso7816、x923、およびpkcs7。
input_format
String
課金されません
入力文字の形式。 デフォルト値: hex。 有効な値:
raw: バイト
hex: 16進数
base64: Base64エンコード
input_encoding
String
課金されません
入力文字のエンコード形式。 このパラメーターは、input_formatパラメーターをrawに設定した場合にのみ必要です。 デフォルト値: utf-8
output_format
String
課金されません
出力文字の形式。 デフォルト値: raw。 有効な値:
raw: バイト
hex: 16進数
base64: Base64エンコード
iv
Bytes
課金されません
復号化に使用するオフセット。
output_encoding
String
課金されません
出力文字のエンコード形式。 デフォルト値 : なし。
レスポンス
解読された文字列が返されます。
例
例 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_encoding関数は、MD5アルゴリズムを使用してデータをエンコードします。
構文
md5_encoding(value, format="hex")
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
エンコードする値。The value that you want to encode.
フォーマット
String
課金されません
有効な値: binaryとhex。 デフォルト値: 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
sha1_encoding関数は、SHA1アルゴリズムを使用してデータをエンコードします。
構文
sha1_encoding(value, format=None)
パラメーター
パラメーター
データ型
必須
説明
value
String
課金されます
エンコードする値。The value that you want to encode.
フォーマット
String
課金されません
エンコードタイプ。 有効な値: SHA1、SHA224、SHA256、SHA384、およびSHA512。 デフォルト値: SHA1
レスポンス
エンコードされた文字列が返されます。
例
生ログ
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
crc32_encoding
crc32_encoding関数は、データのCRCコードを計算します。
構文
crc32_encoding(data, input_format="raw", input_encoding="utf-8")
パラメーター
パラメーター
データ型
必須
説明
data
String
課金されます
CRCコードを計算する値。
input_format
String
課金されません
入力文字の形式。 デフォルト値: raw。 有効な値:
raw: バイト
hex: 16進数
base64: Base64エンコード
input_encoding
String
課金されません
入力文字のエンコード形式。 このパラメーターは、input_formatパラメーターをrawに設定した場合にのみ必要です。 デフォルト値: utf-8
レスポンス
入力値のCRCコードが返されます。
例
例1: テストフィールドのCRCコードを計算します。
生ログ
test: aliyuntest
変換ルール
e_set("str_crc32", crc32_encoding(v("test")))
str_crc32の結果
str_crc32:1434103726 test:aliyuntest
例2: test1フィールドとtest2フィールドを結合し、MD5アルゴリズムを使用してフィールドをエンコードし、フィールドのCRCコードを計算します。
生ログ
test1: test1 test2: test2
変換ルール
e_set( "str_crc32", crc32_encoding( md5_encoding(str_join("+", v("test1"), v("test2")), format="binary") ), )
結果
str_crc32:369733261 test1:test1 test2:test2
例3: テストフィールドのCRCコードを計算します。 フィールド値はBase64-encodedです。
生ログ
test: Taloz+e+PzP3NltrEXiCig==
変換ルール
e_set("str_crc32", crc32_encoding(v("test"), input_format="base64"))
結果
str_crc32:1093789404 test:Taloz+e+PzP3NltrEXiCig==