エンコーディングおよびデコーディング関数は、データ変換ジョブでフィールド値をエンコード、デコード、圧縮、暗号化、ハッシュ化します。以下のセクションでは、各関数の構文、パラメーター、戻り値、および例について説明します。
関数リスト
タイプ | サブカテゴリ | 関数 | 説明 |
エンコーディングとデコーディング | 文字列 | データをエンコードします。 | |
エンコーディングとデコーディング | 文字列 | データをデコードします。 | |
エンコーディングとデコーディング | Base64 | Base64 を使用してデータをエンコードします。 | |
エンコーディングとデコーディング | Base64 | Base64 でエンコードされたデータをデコードします。 | |
エンコーディングとデコーディング | HTML | HTML エンコーディングを使用してデータをエンコードします。 | |
エンコーディングとデコーディング | HTML | HTML でエンコードされたデータをデコードします。 | |
エンコーディングとデコーディング | URL | URL エンコーディングを使用してデータをエンコードします。 | |
エンコーディングとデコーディング | URL | URL でエンコードされたデータをデコードします。 | |
エンコーディングとデコーディング | Protobuf | 指定した Protobuf テンプレートに基づいて、データを JSON 形式に解析します。 | |
エンコーディングとデコーディング | JSON Web Token (JWT) | JSON Web Token (JWT) 標準に基づいて JSON データをエンコードします。 | |
エンコーディングとデコーディング | JSON Web Token (JWT) | JSON Web Token (JWT) 標準に基づいて、データを元の JSON にデコードします。 | |
エンコーディングとデコーディング | Hashids | Hashids ライブラリを使用してデータをエンコードします。 | |
エンコーディングとデコーディング | Hashids | Hashids ライブラリでエンコードされたデータをデコードします。 | |
圧縮と展開 | Gzip | データを圧縮し、結果を Base64 または 16 進数形式でエンコードします。 | |
圧縮と展開 | Gzip | Base64 または 16 進数でエンコードされたデータを展開します。 | |
圧縮と展開 | Zlib | データを圧縮し、結果を Base64 形式でエンコードします。 | |
圧縮と展開 | Zlib | Base64 でエンコードされたデータを展開します。 | |
暗号化と復号 | 高度暗号化標準 (AES) | AES を使用してデータを暗号化します。 | |
暗号化と復号 | 高度暗号化標準 (AES) | AES で暗号化されたデータを復号します。 | |
ハッシュ | MD5 | データの MD5 ハッシュを計算します。 | |
ハッシュ | SHA1 | データの SHA-1 ハッシュを計算します。 | |
ハッシュ | 巡回冗長検査 (CRC) | データの CRC-32 チェックサムを計算します。 |
str_encode
指定されたエンコード形式を使用して文字列をエンコードします。
-
構文
str_encode(value, "utf8", errors="ignore") -
パラメーター
パラメーター
タイプ
必須
説明
value
任意 (文字列に自動変換)
はい
エンコードする値。
encoding
文字列
いいえ
エンコード形式。デフォルト値: UTF-8。ASCII がサポートされています。
errors
文字列
いいえ
エンコード形式に基づいて文字を認識できない場合の処理方法。有効な値:
-
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 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(value, "utf8", errors="ignore")説明str_decode 関数は、バイトデータ型のデータのみを処理できます。
-
パラメーター
パラメーター名
データ型
必須
説明
value
任意 (文字列に自動変換)
はい
デコードする値。
encoding
任意 (文字列に自動変換)
いいえ
エンコード形式。デフォルト値: UTF-8。ASCII がサポートされています。
errors
任意 (文字列に自動変換)
いいえ
エンコード形式に基づいて文字を認識できない場合の処理方法。有効な値:
-
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 を使用してデータをエンコードします。
構文
base64_encoding(value, format=None)パラメーター
パラメーター | タイプ | 必須 | 説明 |
value | 文字列 | はい | エンコードする値。 |
format | 文字列 | いいえ | Base64 エンコーディングスキーム。デフォルト値: |
レスポンス
エンコードされた文字列を返します。
例
例: str_en フィールドの値をエンコードします。
元のログ
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 | 文字列 | はい | デコードする値。 |
format | 文字列 | いいえ | Base64 デコーディングスキーム。デフォルト値: |
RFC4648 Base64 デコーディングスキームは、等号 (=) を使用して、デコードする値を 4 バイトの倍数にパディングします。
レスポンス
デコードされた文字列を返します。
例
例: str_de フィールドの値をデコードします。
元のログ
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 | 文字列 | はい | エンコードする値。 |
レスポンス
エンコードされた文字列を返します。
例
例: 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" />変換ルール
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 でエンコードされたデータをデコードします。
構文
html_decoding(value)パラメーター
パラメーター | タイプ | 必須 | 説明 |
value | 文字列 | はい | デコードする値。 |
レスポンス
デコードされた文字列を返します。
例
例: 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" />変換ルール
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 エンコーディングを使用してデータをエンコードします。
構文
url_encoding(value, plus=False)パラメーター
パラメーター | タイプ | 必須 | 説明 |
value | 文字列 | はい | エンコードする値。 |
plus | ブール値 | いいえ | スペースをプラス記号 (+) に変換するかどうかを指定します。デフォルト値: False。有効な値: |
True: スペースをプラス記号 (+) に変換します。
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%2Fwww.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 でエンコードされたデータをデコードします。
構文
url_decoding(value, plus=False)パラメーター
パラメーター | タイプ | 必須 | 説明 |
value | 文字列 | はい | デコードする値。 |
plus | ブール値 | いいえ | プラス記号 (+) をスペースに変換するかどうかを指定します。デフォルト値: False。有効な値: |
True: プラス記号 (+) をスペースに変換します。
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 テンプレートに基づいて、データを JSON 形式に解析します。
構文
protobuf_decoding(data, protocol, input_format="bytes", message_name=None)パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | Protobuf でシリアル化されたデータ。 |
protocol | 文字列 | はい | Protobuf テンプレートデータ。 |
input_format | 文字列 | いいえ | データ形式。デフォルト値: bytes。有効な値: |
hex: 16 進数形式
bytes (デフォルト): バイト形式
raw: バイト形式
base64: Base64 エンコード形式
|message_name |文字列 |いいえ |取得するメッセージの名前。
レスポンス
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" ) )詳細パラメーター設定
[データ変換ジョブの作成] パネルで、詳細パラメーターを設定します。この例では、キーを
protocolに、値をsyntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}に設定します。結果
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" }例 3: 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"))結果
データ:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" } プロトコル:syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
jwt_encoding
JSON Web Token (JWT) 標準に基づいて JSON データをエンコードします。
JSON Web Token (JWT) は、当事者間で情報を JSON オブジェクトとして安全に送信するためのコンパクトで自己完結した方法を提供するオープン標準 (RFC7519) です。そのデジタル署名により、情報は検証可能で信頼できるものになります。JWT は、シークレット (HMAC アルゴリズムを使用) または公開鍵と秘密鍵のペア (RSA または ECDSA を使用) で署名できます。詳細については、「JWT Introduction」をご参照ください。
構文
jwt_encoding(payload, key, algorithms="HS256", headers=None)パラメーター
パラメーター | タイプ | 必須 | 説明 |
payload | JSON | はい | エンコードするデータ (JSON 形式)。JWT 標準では、以下の 7 つのフィールドが定義されています。カスタムフィールドを定義することもできます: |
iss: 発行者。トークンを発行したエンティティ。
exp: 有効期限。トークンの有効期限が切れる時刻。
sub: サブジェクト。トークンのサブジェクト。
aud: オーディエンス。トークンの意図された受信者。
nbf: 有効期間の開始時刻。トークンが有効になる時刻。
iat: 発行時刻。トークンが発行された時刻。
jti: JWT ID。トークンの一意の識別子。 次の例は、元の JSON データを示しています:
{ "iss": "localhost", "sub": "name", "aud": "user", "address": { "street": "street number", "city": "hangzhou", "country": "china" } }| |key |文字列 |はい |JWT データを暗号化するために使用されるキー。キーは、選択した暗号化アルゴリズムによって異なります:
非対称暗号化アルゴリズム: PEM 形式でエンコードされた秘密鍵。
対称暗号化アルゴリズム: キー自体。
|algorithms |文字列 |いいえ |トークンに署名するために使用されるアルゴリズム。デフォルト値: HS256。次のアルゴリズムがサポートされています:
HS256,HS384,HS512,ES256,ES256K,ES384,ES512,RS256,RS384,RS512,PS256,PS384,PS512,EdDSA。
{
"typ": "JWT",
"alg": "HS256"
}|
レスポンス
エンコードされた文字列を返します。
例
例 1: data ログフィールドの値をエンコードします。
元のログ
data: {"some": "payload"}変換ルール
e_set("jwt_token", jwt_encoding(v("data"),"secret", algorithms="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", algorithms="RS256", ), )結果
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0
例 3: data ログフィールドの値をエンコードし、署名アルゴリズムとして HS256 を指定し、ヘッダーを指定します。
元のログ
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: 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 にデコードします。
構文
jwt_decoding(jwt_payload, key="", algorithms=None, options=None, audience=None, issuer=None, leeway=0)パラメーター
パラメーター | タイプ | 必須 | 説明 |
jwt_payload | 文字列 | はい | デコードする値。 |
key | 文字列 | はい | データの復号に使用するキー。キーはエンコードに使用したキーと同じである必要があります。 |
algorithms | リスト | いいえ | トークンに署名するために使用されるアルゴリズム (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}。|オーディエンス |文字列/リスト |いいえ |aud のチェックに使用する値。エンコーディング時に aud パラメーターを設定し、options 拡張で
"require": ["aud"]または"verify_aud": Trueを設定した場合、デコーディング時にこのパラメーターを指定する必要があります。| |発行者 |文字列 |いいえ |iss のチェックに使用する値。エンコーディング時に iss パラメーターを設定し、options 拡張で"require": ["iss"]または"verify_iss": Trueを設定した場合、デコーディング時にこのパラメーターを指定する必要があります。| |リーウェイ |浮動 |いいえ |有効期限チェックの時間間隔 (秒) 。|
レスポンス
デコードされた文字列を返します。
例
例 1: data ログフィールドの値をデコードし、復号のために署名アルゴリズムとして HS256 を指定します。
元のログ
data:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U変換ルール
e_set("data_decoded", jwt_decoding(v("data"), "secret", 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:"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0" data_decoded: {"some": "payload"}
例 3: デフォルトの拡張デコードおよび検証オプションを使用して data ログフィールドの値をデコードします。
元のログ
data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"変換ルール
e_set( "data_decoded", jwt_decoding(v("data"), "secret", algorithms="HS256", options=None) )結果
data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw" data_decoded:{ "some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22" }
例 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: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6Im5hbWUifQ.XwT9jqwofcdSP6olidbiYPC6CnZd36OEqCHZmGmooWM" data_decoded:{"some": "payload", "iss": "name"}
hashids_encoding
Hashids ライブラリを使用してデータをエンコードします。
構文
hashids_encoding(value, salt="", min_length=0)パラメーター
パラメーター | タイプ | 必須 | 説明 |
value | 数値、リスト、タプル | はい | エンコードする値。value が数値の場合、0 未満にすることはできません。 |
salt | 文字列 | いいえ | データに追加されるソルト。デフォルト値: 空の文字列。 |
min_length | 数値 | いいえ | 生成されるハッシュ値の最小長。デフォルト値: 0。 |
レスポンス
エンコードされた文字列を返します。
例
例 1: デフォルトのソルトと最小ハッシュ長を使用して数値をエンコードします。
元のログ
content:test変換ルール
e_set("hashid", hashids_encoding(123))結果
content:test hashid:Mj3
例 2: カスタムソルトを使用してリストデータをエンコードします。
元のログ
content:test変換ルール
e_set("hashid", hashids_encoding([123, 456], salt="test"))結果
content:test hashid:bpBHYO
例 3: カスタムソルトと最小ハッシュ長を使用してリストデータをエンコードします。
元のログ
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 ライブラリでエンコードされたデータをデコードします。
構文
hashids_decoding(hashid, salt="", min_length=0)パラメーター
パラメーター | タイプ | 必須 | 説明 |
hashid | 文字列 | はい | デコードするデータ。 |
salt | 文字列 | いいえ | データに追加されるソルト。デフォルト値: 空の文字列。 |
min_length | 数値 | いいえ | 生成されるハッシュ値の最小長。デフォルト値: 0。 |
レスポンス
デコードされた文字列を返します。
例
例 1: デフォルトのソルトと最小ハッシュ長を使用してエンコードされた数値をデコードします。
元のログ
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
データを圧縮し、結果を Base64 または 16 進数形式でエンコードします。
構文
gzip_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | 圧縮するデータ。 |
compresslevel | Int | いいえ | 圧縮レベル。このパラメーターには 0 から 9 までの整数を設定します。値が大きいほど圧縮率が高くなり、圧縮速度が遅くなります。デフォルト値: 6。有効な値: |
0: 圧縮なし。
1: 最速の圧縮速度ですが、圧縮率は最も低くなります。
9: 圧縮速度は最も遅くなりますが、圧縮率は最も高くなります。|
|to_format |文字列 |いいえ |圧縮データのエンコードに使用するフォーマットです。Base64 および hex エンコーディングをサポートしています。| |encoding |文字列 |いいえ |圧縮前の元データのエンコード形式です。デフォルト値:
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: ログフィールドを圧縮し、16 進数を使用してエンコードします。
元のログ
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
Base64 または 16 進数でエンコードされた圧縮データを展開します。
構文
gzip_decompress(data, from_format="base64", encoding="utf-8")パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 任意 | はい | 展開するデータ。 |
from_format | 文字列 | いいえ | 展開するデータのエンコード形式。Base64 および 16 進数デコーディングがサポートされています。 |
encoding | 文字列 | いいえ | 元の圧縮されていないデータのエンコード形式。デフォルト値: |
レスポンス
展開されたオブジェクトを返します。
例
例 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: 値が 16 進数でエンコードされているログフィールドを展開します。
元のログ
content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000変換ルール
e_set("gzip_decompress", gzip_decompress(v("content"), from_format="hex"))結果
content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000 gzip_decompress:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
zlib_compress
データを圧縮し、結果を Base64 形式でエンコードします。
構文
zlib_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | 圧縮するデータ。 |
compresslevel | Int | いいえ | 圧縮レベル。このパラメーターには 0 から 9 までの整数を設定します。値が大きいほど圧縮率が高くなり、圧縮速度が遅くなります。デフォルト値: 6。有効な値: |
0: 圧縮なし。
1: 最速の圧縮速度ですが、圧縮率は最も低くなります。
9: 圧縮速度は最も遅いですが、圧縮率は最も高いです。 |
|to_format |String |いいえ |圧縮データのエンコードに使用するフォーマット。 現在、Base64 エンコーディングのみがサポートされています。 | |encoding |String |いいえ |圧縮前の元のデータのエンコード形式。 デフォルト値は
utf-8です。
レスポンス
エンコードされたオブジェクトを返します。
例
例: content フィールドの値を圧縮し、結果を Base64 を使用してエンコードします。
元のログ
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"))結果
content: I always look forward to my holidays whether I travel or stay at home. zlib_compress: eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln
zlib_decompress
Base64 でエンコードされた圧縮データを展開します。
構文
zlib_decompress(data, from_format="base64", encoding="utf-8")パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | 展開するデータ。 |
from_format | 文字列 | いいえ | 展開するデータのエンコード形式。現在、Base64 エンコーディングのみがサポートされています。 |
encoding | 文字列 | いいえ | エンコード形式。デフォルト値: |
レスポンス
展開されたオブジェクトを返します。
例
例: content フィールドの Base64 でエンコードされた値を展開します。
元のログ
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) は、データセキュリティを向上させるのに役立つ一般的な対称暗号化アルゴリズムです。
構文
aes_encrypt(data, key, mode, pad_style, pad_block, input_format, input_encoding, output_format, iv)パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | 暗号化するデータ。 |
key | 文字列 | はい | データの暗号化に使用するキー。 |
mode | 文字列 | いいえ | AES 暗号化モード。有効な値: |
CBC (デフォルト): 暗号ブロック連鎖
ECB: 電子コードブック
CFB: 暗号フィードバック
OFB: 出力フィードバック
CTR: カウンター
OPENPGP |
|pad_style |文字列 |いいえ |パディングモード。デフォルト値: pkcs7。有効な値: iso7816、x923、および pkcs7。| |input_format |文字列 |いいえ |入力文字フォーマット。デフォルト値: raw。有効な値:
raw: バイト形式
hex: 16 進数形式
base64: Base64 エンコード形式 |
|input_encoding |文字列 |いいえ |文字コード形式。 input_format が raw に設定されている場合にのみ必須です。 デフォルト値: utf-8。 | |output_format |文字列 |いいえ |出力文字形式。 デフォルト値: hex。 有効な値:
raw: バイト形式
hex: 16 進数形式
base64: Base64 エンコード形式
|iv |バイト |いいえ |暗号化のための初期化ベクトル (IV)。
レスポンス
暗号化された文字列を返します。
例
例 1: フィールド値を暗号化し、結果を Base64 形式で返します。
元のログ
"test": "aliyuntest"変換ルール
e_set('result',aes_encrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", output_format="base64"))結果
"result": "gXIqu0cBBtZHQxJBK8GLeA=="
例 2: OFB モードを使用してフィールド値を暗号化します。
元のログ
"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 | 文字列 | はい | 復号するデータ。 |
key | 文字列 | はい | データの復号に使用するキー。 |
mode | 文字列 | いいえ | AES 復号モード。有効な値: |
CBC (デフォルト): 暗号ブロック連鎖
ECB: 電子コードブック
CFB: 暗号フィードバック
OFB: 出力フィードバック
CTR: カウンター
OPENPGP |
|pad_style |文字列 |任意 |パディングモード。 デフォルト値: pkcs7。 有効な値: iso7816、x923、pkcs7。 | |input_format |文字列 |任意 |入力文字フォーマット。 デフォルト値: hex。 有効な値:
raw: バイト形式
hex: 16 進数形式
base64: Base64 エンコード形式 |
|input_encoding |文字列 |任意 |文字エンコーディング形式。input_format が raw に設定されている場合にのみ必須です。デフォルト値: utf-8。 | |output_format |文字列 |任意 |出力文字形式。デフォルト値: raw。有効な値:
raw: バイト形式
hex: 16 進数形式
base64: Base64 エンコード形式 |
|iv |バイト |いいえ |復号用の初期化ベクトル (IV) です。 | |output_encoding |文字列 |いいえ |出力の文字コード形式です。 デフォルト値: None。 |
レスポンス
復号された文字列を返します。
例
例 1: Base64 でエンコードされたフィールド値を復号します。
元のログ
"test": "gXIqu0cBBtZHQxJBK8GLeA=="変換ルール
e_set('result', aes_decrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", input_format="base64"))結果
"result": "aliyuntest"
例 2: OFB モードを使用してフィールド値を復号します。
元のログ
"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 | 文字列 | はい | エンコードする値。 |
format | 文字列 | いいえ | エンコーディングタイプ。デフォルト値: hex。有効な値: binary および hex。 |
レスポンス
エンコードされた文字列を返します。
例
例 1: デフォルトの 16 進数形式でフィールド値の MD5 ハッシュを計算します。
元のログ
str : GeeksforGeeks変換ルール
e_set("str_md5_en",md5_encoding(v("str")))結果
str : GeeksforGeeks str_md5_en : f1e069787ece74531d112559945c6871
例 2: フィールド値の MD5 ハッシュをバイナリ形式で計算し、Base64 を使用してハッシュをエンコードします。
元のログ
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 | 文字列 | はい | エンコードする値。 |
format | 文字列 | いいえ | エンコーディングタイプ。デフォルト値: SHA1。有効な値: SHA224、SHA256、SHA384、および SHA512。 |
レスポンス
エンコードされた文字列を返します。
例
例: str フィールドの SHA-1、SHA-224、SHA-256、SHA-384、および SHA-512 ハッシュを計算します。
元のログ
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
データの CRC-32 チェックサムを計算します。
構文
crc32_encoding(data, input_format="raw", input_encoding="utf-8")パラメーター
パラメーター | タイプ | 必須 | 説明 |
data | 文字列 | はい | チェックサムを計算する値。 |
input_format | 文字列 | いいえ | 入力値の文字形式。デフォルト値: raw。有効な値: |
raw: バイト形式
hex: 16 進数形式
base64: Base64 エンコード形式
|input_encoding |文字列 |いいえ |文字エンコード形式。input_format が raw に設定されている場合にのみ必須です。デフォルト値: utf-8。
レスポンス
入力データの CRC-32 チェックサムを返します。
例
例 1: test フィールドの CRC-32 チェックサムを計算します。
元のログ
test: aliyuntest変換ルール
e_set("str_crc32", crc32_encoding(v("test")))結果
test:aliyuntest str_crc32:1434103726
例 2: test1 フィールドと test2 フィールドを連結し、MD5 ハッシュを計算してから、ハッシュの CRC-32 チェックサムを計算します。
元のログ
test1: test1 test2: test2変換ルール
e_set( "str_crc32", crc32_encoding( md5_encoding(str_join("+", v("test1"), v("test2")), format="binary") ), )結果
test1:test1 test2:test2 str_crc32:369733261
例 3: 値が Base64 エンコード形式である test フィールドの CRC-32 チェックサムを計算します。
元のログ
test: Taloz+e+PzP3NltrEXiCig==変換ルール
e_set("str_crc32", crc32_encoding(v("test"), input_format="base64"))結果
test:Taloz+e+PzP3NltrEXiCig== str_crc32:1093789404