Topik ini menjelaskan sintaksis, parameter, serta contoh penggunaan fungsi enkode dan dekode.
Fungsi
| Kategori | Subkategori | Fungsi | Deskripsi |
| Enkode dan dekode | String | str_encode | Meng-enkode data. |
| str_decode | Mendekode data. | ||
| Base64 | base64_encoding | Meng-enkode data dengan menggunakan algoritma Base64. | |
| base64_decoding | Mendekode data dengan menggunakan algoritma Base64. | ||
| HTML | html_encoding | Meng-enkode data dalam format HTML. | |
| html_decoding | Mendekode data yang di-enkode dalam HTML. | ||
| URL | url_encoding | Melakukan enkode URL pada data. | |
| url_decoding | Melakukan dekode URL pada data. | ||
| Protobuf | protobuf_decoding | Mengurai data ke dalam format JSON dengan menggunakan template Protobuf yang ditentukan. | |
| JSON Web Token (JWT) | jwt_encoding | Meng-enkode data JSON berdasarkan standar JWT. | |
| jwt_decoding | Mendekode data menjadi data JSON mentah berdasarkan standar JWT. | ||
| Hashids | hashids_encoding | Meng-enkode data dengan menggunakan pustaka Hashids. | |
| hashids_decoding | Mendekode data yang di-enkode menggunakan pustaka Hashids. | ||
| Kompresi dan dekompresi | Gzip | gzip_compress | Mengompres dan meng-enkode data. |
| gzip_decompress | Mendekompres data terkompresi. | ||
| Zlib | zlib_compress | Mengompres dan meng-enkode data. | |
| zlib_decompress | Mendekompres data terkompresi. | ||
| Enkripsi dan dekripsi | Advanced Encryption Standard (AES) | aes_encrypt | Mengenkripsi data dengan menggunakan algoritma AES. |
| aes_decrypt | Mendekripsi data dengan menggunakan algoritma AES. | ||
| Hash (digest) | MD5 | md5_encoding | Meng-enkode data dengan menggunakan algoritma MD5. |
| SHA1 | sha1_encoding | Meng-enkode data dengan menggunakan algoritma SHA1. | |
| Cyclic redundancy check (CRC) | crc32_encoding | Menghitung kode CRC untuk data. |
str_encode
Fungsi str_encode meng-enkode string menggunakan format enkode tertentu.
Sintaksis
str_encode(value, "utf8", errors="ignore")Parameter
Parameter
Tipe
Diperlukan
Deskripsi
value
Sembarang (secara otomatis dikonversi ke tipe string)
Ya
Nilai yang ingin Anda enkode.
encoding
String
Tidak
Format enkode. Nilai default: UTF-8. ASCII didukung.
errors
String
Tidak
Metode yang digunakan untuk memproses karakter jika karakter tidak dapat dikenali berdasarkan format enkode. Nilai valid:
ignore (default): Karakter tidak di-enkode.
strict: Kesalahan dilaporkan, dan log dibuang.
replace: Karakter yang tidak dikenali diganti dengan tanda tanya (?).
xmlcharrefreplace: Karakter yang tidak dikenali diganti dengan karakter XML.
Respon
Mengembalikan string ter-enkode.
Contoh
Contoh 1
Log mentah
test: asewdsAturan transformasi
e_set("f1", str_decode(str_encode("Hello", "utf8"), "utf8"))Hasil
test: asewds f1: Hello
Contoh 2
Log mentah
f2: test Test dataAturan transformasi
e_set("f1", str_encode(v("f2"), "ascii", errors="ignore"))Hasil
f1:test f2:test Test data
Contoh 3
Log mentah
f2: test Test dataAturan transformasi
e_set("f1", str_encode(v("f2"), "ascii", errors="strict"))Hasil
Kesalahan dilaporkan selama eksekusi.
Contoh 4
Log mentah
f2: test Test dataAturan transformasi
e_set("f1", str_encode(v("f2"), "ascii", errors="replace"))Hasil
f1:test ???? f2:test Test data
Contoh 5
Log mentah
f2: test Test dataAturan transformasi
e_set("f1", str_encode(v("f2"), "ascii", errors="xmlcharrefreplace"))Hasil
f1:test 测试数据 f2:test Test data
str_decode
Fungsi str_decode mendekode nilai masukan menggunakan format enkode tertentu.
Sintaksis
str_decode(value, "utf8", errors="ignore")CatatanFungsi str_decode hanya dapat memproses data bertipe byte.
Parameter
Parameter
Tipe
Diperlukan
Deskripsi
value
Sembarang (secara otomatis dikonversi ke tipe string)
Ya
Nilai yang ingin Anda dekode.
encoding
Sembarang (secara otomatis dikonversi ke tipe string)
Tidak
Format enkode. Nilai default: UTF-8. ASCII didukung.
errors
Sembarang (secara otomatis dikonversi ke tipe string)
Tidak
Metode yang digunakan untuk memproses karakter jika karakter tidak dapat dikenali berdasarkan format enkode. Nilai valid:
ignore (default): Karakter tidak didekode.
strict: Kesalahan dilaporkan, dan log dibuang.
replace: Karakter yang tidak dikenali diganti dengan tanda tanya (?).
xmlcharrefreplace: Karakter yang tidak dikenali diganti dengan karakter XML.
Respon
Mengembalikan nilai terdekompresi.
Contoh
Log mentah
test: asewdsAturan transformasi
e_set("encoding", str_decode(b'\xe4\xbd\xa0\xe5\xa5\xbd', "utf8", 'strict'))Hasil
test: asewds encoding: Hello
base64_encoding
Sintaksis
base64_encoding(value, format=None)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda enkode. format String Tidak Skema enkode Base64. Nilai valid: RFC3548danRFC4648. Nilai default: RFC3548.Respon
Mengembalikan string ter-enkode.
Contoh
- Log mentah
str_en : data to be encoded - Aturan transformasi
e_set("str_base64",base64_encoding(v("str_en"))) - Hasil
str_en : data to be encoded str_base64 : ZGF0YSB0byBiZSBlbmNvZGVk
- Log mentah
base64_decoding
Sintaksis
base64_decoding(value, format=None)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda dekode. format String Tidak Skema dekode Base64. Nilai valid: RFC3548danRFC4648. Nilai default: RFC3548.Catatan Skema dekode Base64 dalam RFC 4648 menggunakan tanda sama dengan (=) untukmelengkapi nilai terdekompresi menjadi kelipatan 4 byte.Respon
Mengembalikan string terdekompresi.
Contoh
- Log mentah
str_de: ZGF0YSB0byBiZSBlbmNvZGVk - Aturan transformasi
e_set("str_de_base64",base64_decoding(v("str_de"))) - Hasil
str_de: ZGF0YSB0byBiZSBlbmNvZGVk str_de_base64: data to be encoded
- Log mentah
html_encoding
Sintaksis
html_encoding(value)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda enkode. Respon
Mengembalikan string ter-enkode.
Contoh
- Log mentah
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" /> - Aturan transformasi
e_set("str_html_en",html_encoding(v("str"))) - Hasil
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" />
- Log mentah
html_decoding
Sintaksis
html_decoding(value)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda dekode. Respon
Mengembalikan string terdekompresi.
Contoh
- Log mentah
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" /> - Aturan transformasi
e_set("str_html_de",html_decoding(v("str"))) - Hasil
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" />
- Log mentah
url_encoding
Sintaksis
url_encoding(value, plus=False)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda enkode. plus Boolean Tidak Menentukan apakah spasi akan dikonversi menjadi tanda tambah (+). Nilai default: False. Nilai valid: - True
- False
Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1: Lakukan enkode URL pada data.
- Log mentah
content : https://www.example.org/hello/asdah - Aturan transformasi
e_set("url",url_encoding(v("content"))) - Hasil
content : https://www.example.org/hello/asdah url: https%3A%2F%www.example.org%2FHello%2Fasdah
- Log mentah
- Contoh 2: Lakukan enkode URL pada data. Biarkan parameter plus tidak dikonfigurasi untuk memastikan bahwa spasi tidak dikonversi menjadi tanda tambah (+).
- Log mentah
content : 1 2+3:4 - Aturan transformasi
e_set("URL",url_encoding(v("content"))) - Hasil
content:1 2+3:4 URL:1%202%2B3%3A4
- Log mentah
- Contoh 3: Lakukan enkode URL pada data. Setel parameter plus ke True untuk mengonversi spasi menjadi tanda tambah (+).
- Log mentah
content : 1 2+3:4 - Aturan transformasi
e_set("URL", url_encoding(v("content"), plus=True)) - Hasil
content:1 2+3:4 URL:1+2%2B3%3A4
- Log mentah
- Contoh 1: Lakukan enkode URL pada data.
url_decoding
Sintaksis
url_decoding(value, plus=False)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda dekode. plus Boolean Tidak Menentukan apakah tanda tambah (+) akan dikonversi menjadi spasi. Nilai default: False. Nilai valid: - True
- False
Respon
Mengembalikan string terdekompresi.
Contoh
- Contoh 1: Lakukan dekode URL pada data.
- Log mentah
content : https%3A%2F%www.example.org%2FHello%2Fasdah - Aturan transformasi
e_set("URL",url_decoding(v("content"))) - Hasil
content : https%3A%2F%www.example.org%2FHello%2Fasdah URL : https://www.example.org/hello/asdah
- Log mentah
- Contoh 2: Lakukan dekode URL pada data. Biarkan parameter plus tidak dikonfigurasi untuk memastikan bahwa tanda tambah (+) tidak dikonversi menjadi spasi.
- Log mentah
content : /answer?event_date=2022-06-30+09%3A06%3A53%20123 - Aturan transformasi
e_set("URL",url_decoding(v("content"))) - Hasil
content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30+09:06:53 123
- Log mentah
- Contoh 3: Lakukan dekode URL pada data. Setel parameter plus ke True untuk mengonversi tanda tambah (+) menjadi spasi.
- Log mentah
content : /answer?event_date=2022-06-30+09%3A06%3A53%20123 - Aturan transformasi
e_set("URL",url_decoding(v("content"),plus=True)) - Hasil
content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30 09:06:53 123
- Log mentah
- Contoh 1: Lakukan dekode URL pada data.
protobuf_decoding
Fungsi protobuf_decoding mengurai data ke dalam format JSON menggunakan template Protobuf tertentu.
Sintaksis
protobuf_decoding(data, protocol, input_format="bytes", message_name=None)Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang diserialisasi Protobuf. protocol String Ya Template Protobuf. input_format String Tidak Tipe data. Nilai valid: - hex: heksadesimal
- bytes: bytes
- raw: bytes
- base64: Base64-encoded
message_name String Tidak Nama pesan yang ingin Anda peroleh. Respon
Jika Anda tidak mengonfigurasi message_name, fungsi mengembalikan daftar JSON. Jika Anda mengonfigurasi message_name, fungsi mengembalikan objek JSON.
Contoh
- Contoh 1: Mengurai data Protobuf yang di-enkode dalam Base64 ke dalam format JSON menggunakan template.
- Log mentah
{ "protocol": 'syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;} ', "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" } - Aturan transformasi
e_set("data", protobuf_decoding(v("data"), v("protocol"), "base64", "Person")) - Hasil
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" } protocol:syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
- Log mentah
- Contoh 2: Mengurai data Protobuf ke dalam format JSON dengan memperoleh template dari parameter lanjutan.
- Log mentah
{ "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" } - Aturan transformasi
e_set("data", protobuf_decoding( v("data"), res_local("protocol"), "base64", "Person" ) ) - Pengaturan Parameter Lanjutan
Di panel Create Data Transformation Job, konfigurasikan parameter lanjutan. Setel key ke
protocoldan value kesyntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}. Untuk informasi lebih lanjut, lihat Buat pekerjaan transformasi data.
- Hasil
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" }
- Log mentah
- Contoh 3: Mengurai data Protobuf ke dalam format JSON dengan memperoleh template dari file Object Storage Service (OSS).
- Log mentah
{ "data": "Cgl4aWFvIG1pbmcQARoOMTIzMTIzQDEyMy5jb20=" } - Konten file OSS
syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;} - Aturan transformasi
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")) - Hasil
data:{ "name": "xiao ming", "id": 1, "email": "123123@123.com" } protocol:syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3;}
- Log mentah
- Contoh 1: Mengurai data Protobuf yang di-enkode dalam Base64 ke dalam format JSON menggunakan template.
jwt_encoding
Sintaksis
jwt_encoding(payload, key, algorithms="HS256", headers=None)Parameter
Parameter Tipe Diperlukan Deskripsi payload JSON Ya Nilai yang ingin Anda enkode. Nilai harus dalam format JSON. Standar JWT mendefinisikan bidang-bidang berikut. Anda juga dapat menentukan bidang kustom. - iss: issuer
- exp: waktu kedaluwarsa
- sub: subjek
- aud: audience
- nbf: Not Before
- iat: Issued At
- jti: JWT ID
{ "iss": "localhost", "sub": "name", "aud": "user", "address": { "street": "street number", "city": "hangzhou", "country": "china" } }key String Ya Kunci yang ingin Anda gunakan untuk mengenkripsi JWT. Kunci bervariasi berdasarkan algoritma enkripsi yang Anda pilih. - Algoritma enkripsi asimetris: Kunci privat yang dikodekan PEM
- Algoritma enkripsi simetris: kunci mentah
algorithms String Tidak Algoritma yang ingin Anda gunakan untuk menandatangani JWT. Nilai default: HS256. Nilai valid: HS256, HS384, HS512, ES256, ES256K, ES384, ES512, RS256, RS384, RS512, PS256, PS384, PS512, and EdDSA.header JSON Tidak Informasi tentang header JWT. Nilai default: { "typ": "JWT", "alg": "HS256" }Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1: Setel algoritma tanda tangan untuk dekripsi ke HS256 untuk mendekode nilai bidang data.
data: {"some": "payload"}e_set("jwt_token", jwt_encoding(v("data"),"secret", algoritma="HS256"))- Hasil
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U
- Contoh 2: Gunakan algoritma enkripsi asimetris untuk meng-enkode nilai bidang data.
- Log mentah
data: {"some": "payload"} - Aturan transformasi
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", ), ) - Hasil
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0
- Log mentah
- Contoh 3: Setel parameter algoritma ke HS256 dan konfigurasikan parameter headers untuk meng-enkode nilai bidang data.
- Log mentah
data: {"some": "payload"} - Aturan transformasi
e_set( "jwt_token", jwt_encoding( v("data"), "secret", algorithms="HS256", headers={"kid": "230498151c214b788dd97f22b85410a5"}, ), ) - Hasil
data:{"some": "payload"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjIzMDQ5ODE1MWMyMTRiNzg4ZGQ5N2YyMmI4NTQxMGE1In0.eyJzb21lIjoicGF5bG9hZCJ9.gdQ884yjlnLnIrYjfQaClE6rJC2x8v2OP2s_eXOLhZA
- Log mentah
- Contoh 4: Tentukan bidang JWT kustom untuk bidang data dan enkode nilai bidang data.
- Log mentah
data: {"some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22"} - Aturan transformasi
e_set("jwt_token", jwt_encoding(v("data"),"secret")) - Hasil
data:{"some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22"} jwt_token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.c6MxZHdXsgASchQ1Mdqj208NO_3rNGjYnvo6c7HNAyk
- Log mentah
- Contoh 1: Setel algoritma tanda tangan untuk dekripsi ke HS256 untuk mendekode nilai bidang data.
jwt_decoding
Sintaksis
jwt_decoding(jwt_payload, key="", algorithms=None, options=None, audience=None, issuer=None, leeway=0)Parameter
Parameter Tipe Diperlukan Deskripsi jwt_payload String Ya Nilai yang ingin Anda dekode. key String Ya Kunci yang ingin Anda gunakan untuk mendekripsi data. Kunci ini harus sama dengan kunci yang digunakan untuk enkode. algorithms List Tidak Algoritma yang ingin Anda gunakan untuk menandatangani JWT. Contoh: HS256. options JSON Tidak Opsi tambahan untuk dekode dan verifikasi. Nilai valid: - verify_signature: menentukan apakah akan memverifikasi tanda tangan JWT yang dienkripsi. Nilai default: True.
- require: menentukan bidang-bidang yang harus ada dalam data yang di-enkode. Secara default, opsi ini kosong. Contoh:
["exp", "iat", "nbf"]. - verify_aud: menentukan apakah akan memeriksa bidang aud. Nilai default: True.
- verify_iss: menentukan apakah akan memeriksa bidang iss. Nilai default: True.
- verify_exp: menentukan apakah akan memeriksa bidang exp. Nilai default: True.
- verify_iat: menentukan apakah akan memeriksa bidang iat. Nilai default: True.
- verify_nbf: menentukan apakah akan memeriksa bidang nbf. Nilai default: True.
{"require": ["aud"], "verify_aud": True}.audience String/List Tidak Memeriksa nilai bidang aud. Anda harus mengonfigurasi parameter ini jika bidang aud ditentukan untuk enkode dan
"require": ["aud"]atau"verify_aud": Trueditentukan untuk parameter options.issuer String Tidak Memeriksa nilai bidang iss. Anda harus mengonfigurasi parameter ini jika bidang iss ditentukan untuk enkode dan
"require": ["iss"]atau"verify_iss": Trueditentukan untuk parameter options.leeway float Tidak Interval saat pemeriksaan kedaluwarsa dilakukan. Satuan: detik. Respon
Mengembalikan string terdekompresi.
Contoh
- Contoh 1: Setel algoritma tanda tangan untuk dekripsi ke HS256 untuk mendekode nilai bidang data.
- Log mentah
data:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Joh1R2dYzkRvDkqv3sygm5YyK8Gi4ShZqbhK2gxcs2U - Aturan transformasi
e_set("data_decoded", jwt_decoding(v("data"), "secret", algorithms="HS256")) - Hasil
data_decoded: {"some": "payload"}
- Log mentah
- Contoh 2: Gunakan kunci publik untuk mendekode nilai bidang data.
- Log mentah
data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0" - Aturan transformasi
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", ), ) - Hasil
data_decoded: {"some": "payload"} data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9.Ewwls5YPuJCmAR3XR2tcptOLrH83wVCzmUaUpGMzMLcPknRrIvbDmFGlNlQha-PMx0jsxt3t1oxpz7P3z3SR9o4qyWusAb99UG_Jn8oP8W0a5GKSy4UEJB0xgpVvJl5F2JaIPeUSHpV0VeS2WAsGSBBSAaOMkrc-8uie-H4J9M0"
- Log mentah
- Contoh 3: Gunakan nilai default dari parameter options untuk mendekode nilai bidang data.
- Log mentah
data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw" - Aturan transformasi
e_set( "data_decoded", jwt_decoding(v("data"), "secret", algorithms="HS256", options=None) ) - Hasil
data_decoded:{ "some": "payload", "iss": 9, "sub": "name", "nbf": 123, "iat": "22" } data:"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6OSwic3ViIjoibmFtZSIsIm5iZiI6MTIzLCJpYXQiOiIyMiJ9.DzvqhJd0PrTFk6eeASGZxOoDtrLBt_H3xC7CqOATRRw"
- Log mentah
- Contoh 4: Tentukan nilai kustom untuk parameter options untuk mendekode nilai bidang data.
- Log mentah
data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6Im5hbWUifQ.XwT9jqwofcdSP6olidbiYPC6CnZd36OEqCHZmGmooWM" - Aturan transformasi
e_set( "data_decoded", jwt_decoding( v("data"), "secret", algorithms="HS256", options={"require": ["iss"], "verify_iss": True}, issuer="name", ), ) - Hasil
data_decoded:{"some": "payload", "iss": "name"} data: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCIsImlzcyI6Im5hbWUifQ.XwT9jqwofcdSP6olidbiYPC6CnZd36OEqCHZmGmooWM"
- Log mentah
- Contoh 1: Setel algoritma tanda tangan untuk dekripsi ke HS256 untuk mendekode nilai bidang data.
hashids_encoding
Fungsi hashids_encoding meng-enkode data menggunakan pustaka Hashids.
Sintaksis
hashids_encoding(value, salt="", min_length=0)Parameter
Parameter Tipe Diperlukan Deskripsi value Number, list, atau tuple Ya Nilai yang ingin Anda enkode. Jika Anda ingin menentukan angka untuk parameter ini, Anda harus menentukan angka yang tidak kurang dari 0.
salt String Tidak Salt yang ingin Anda tambahkan ke nilai. Nilai default: string kosong. min_length Number Tidak Panjang minimum nilai hash yang dihasilkan. Nilai default: 0. Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1: Gunakan salt default dan panjang minimum nilai hash untuk meng-enkode angka.
- Log mentah
content:test - Aturan transformasi
e_set("hashid", hashids_encoding(123)) - Hasil
content:test hashid:Mj3
- Log mentah
- Contoh 2: Gunakan salt kustom dan panjang minimum nilai hash untuk meng-enkode data daftar.
- Log mentah
content:test - Aturan transformasi
e_set("hashid", hashids_encoding([123, 456], salt="test")) - Hasil
content:test hashid:bpBHYO
- Log mentah
- Contoh 3: Gunakan salt kustom dan panjang minimum nilai hash untuk meng-enkode data daftar.
- Log mentah
content:test - Aturan transformasi
e_set("hashid", hashids_encoding([123, 456], salt="test", min_length=32)) - Hasil
content:test hashid:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
- Log mentah
- Contoh 4: Gunakan salt kustom dan panjang minimum nilai hash untuk meng-enkode data tuple.
- Log mentah
content:test - Aturan transformasi
e_set("hashid", hashids_encoding((123, 456), salt="test", min_length=32)) - Hasil
content:test hashid:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g
- Log mentah
- Contoh 1: Gunakan salt default dan panjang minimum nilai hash untuk meng-enkode angka.
hashids_decoding
Fungsi hashids_decoding mendekode data yang di-enkode menggunakan pustaka Hashids.
Sintaksis
hashids_decoding(hashid, salt="", min_length=0)Parameter
Parameter Tipe Diperlukan Deskripsi hashid String Ya Nilai yang ingin Anda dekode. salt String Tidak Salt yang ingin Anda tambahkan ke nilai. Nilai default: string kosong. min_length Number Tidak Panjang minimum nilai hash yang dihasilkan. Nilai default: 0. Respon
Mengembalikan string terdekompresi.
Contoh
- Contoh 1: Gunakan salt default dan panjang minimum nilai hash untuk mendekode angka yang di-enkode.
- Log mentah
content:Mj3 - Aturan transformasi
e_set("value", hashids_decoding(v("content"))) - Hasil
content:Mj3 value:[123]
- Log mentah
- Contoh 2: Gunakan salt asimetris dan panjang minimum nilai hash default untuk mendekode data daftar yang di-enkode.
- Log mentah
content:bpBHYO - Aturan transformasi
e_set("value", hashids_decoding(v("content"), salt="test")) - Hasil
content:bpBHYO value:[123, 456]
- Log mentah
- Contoh 3: Gunakan salt kustom dan panjang minimum nilai hash untuk mendekode data daftar yang di-enkode.
- Log mentah
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g - Aturan transformasi
e_set("value", hashids_decoding(v("content"), salt="test", min_length=32)) - Hasil
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g value:[123, 456]
- Log mentah
- Contoh 4: Gunakan salt kustom dan panjang minimum nilai hash untuk mendekode data tuple yang di-enkode.
- Log mentah
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g - Aturan transformasi
e_set("value", hashids_decoding(v("content"), salt="test", min_length=32)) - Hasil
content:O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g value:[123, 456]
- Log mentah
- Contoh 1: Gunakan salt default dan panjang minimum nilai hash untuk mendekode angka yang di-enkode.
gzip_compress
Sintaksis
gzip_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang ingin Anda kompres. compresslevel Int Tidak Tingkat kompresi. Nilai valid: 0 hingga 9. Nilai default: 6. - 1: Kecepatan kompresi tertinggi, dan rasio kompresi terendah.
- 9: Kecepatan kompresi terendah, dan rasio kompresi tertinggi.
- 0: Data tidak dikompres.
to_format String Tidak Format enkode untuk data terkompresi. Nilai valid: base64 dan hex. encoding String Tidak Format pengkodean untuk data mentah. Nilai default: utf-8. Untuk informasi lebih lanjut tentang format pengkodean lainnya, lihat Format pengkodean standar. Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1: Kompres bidang log dan enkode bidang tersebut menggunakan algoritma Base64.
- Log mentah
content: I always look forward to my holidays whether I travel or stay at home. - Aturan transformasi
e_set("base64_encode_gzip_compress",gzip_compress(v("content"),to_format="base64")) - Hasil
content: I always look forward to my holidays whether I travel or stay at home. base64_encode_gzip_compress: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
- Log mentah
- Contoh 2: Enkode bidang log menggunakan format enkode HEX.
- Log mentah
content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA - Aturan transformasi
e_set("hex_encode_gzip_compress", gzip_compress(v("content"), to_format="hex")) - Hasil
content:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA hex_encode_gzip_compress:1f8b08004a478c6202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000
- Log mentah
- Contoh 1: Kompres bidang log dan enkode bidang tersebut menggunakan algoritma Base64.
gzip_decompress
Sintaksis
gzip_decompress(data, from_format="base64", encoding="utf-8")Parameter
Parameter Tipe Diperlukan Deskripsi data Sembarang Ya Data yang ingin Anda dekompres. from_format String Tidak Format enkode untuk data terkompresi. Nilai valid: base64 dan hex. encoding String Tidak Format pengkodean untuk data mentah. Nilai default: utf-8. Untuk informasi lebih lanjut tentang format pengkodean lainnya, lihat Format pengkodean standar. Respon
Mengembalikan data terdekompresi.
Contoh
- Contoh 1: Dekode bidang log menggunakan algoritma Base64.
- Log mentah
content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA - Aturan transformasi
e_set("gzip_decompress",gzip_decompress(v("content"),from_format="base64")) - Hasil
content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA gzip_decompress: I always look forward to my holidays whether I travel or stay at home.
- Log mentah
- Contoh 2: Dekode bidang log menggunakan format dekode HEX.
- Log mentah
content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000 - Aturan transformasi
e_set("gzip_decompress", gzip_decompress(v("content"), from_format="hex")) - Hasil
content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000 gzip_decompress:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
- Log mentah
- Contoh 1: Dekode bidang log menggunakan algoritma Base64.
zlib_compress
Sintaksis
zlib_compress(data, compresslevel=6, to_format="base64", encoding="utf-8")Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang ingin Anda kompres. compresslevel Int Tidak Tingkat kompresi. Nilai valid: 0 hingga 9. Nilai default: 6. - 1: Kecepatan kompresi tertinggi, dan rasio kompresi terendah.
- 9: Kecepatan kompresi terendah, dan rasio kompresi tertinggi.
- 0: Data tidak dikompres.
to_format String Tidak Format enkode untuk data terkompresi. Setel nilai menjadi base64. encoding String Tidak Format enkode untuk data mentah. Nilai default: utf-8. Untuk informasi lebih lanjut tentang format enkode lainnya, lihat Format enkode standar. Respon
Mengembalikan data ter-enkode.
Contoh
- Log mentah
content: I always look forward to my holidays whether I travel or stay at home. - Aturan transformasi
e_set("zlib_compress", zlib_compress(v("content"), to_format="base64")) - Hasil
zlib_compress: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" content: "I always look forward to my holidays whether I travel or stay at home."
- Log mentah
zlib_decompress
Sintaksis
zlib_decompress(data, from_format="base64", encoding="utf-8")Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang ingin Anda dekompres. from_format String Tidak Format enkode untuk data terkompresi. Setel nilai menjadi base64. encoding String Tidak Format enkode. Nilai default: utf-8. Untuk informasi lebih lanjut tentang format enkode lainnya, lihat Format enkode standar. Respon
Mengembalikan data terdekompresi.
Contoh
- Log mentah
content: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" - Aturan transformasi
e_set("zlib_decompress", zlib_decompress(v("content"), from_format="base64")) - Hasil
content: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" zlib_decompress: "I always look forward to my holidays whether I travel or stay at home."
- Log mentah
aes_encrypt
Sintaksis
aes_encrypt(data, key, mode, pad_style, pad_block, input_format, input_encoding, output_format, iv)Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang ingin Anda enkripsi. key String Ya Kunci yang ingin Anda gunakan untuk mengenkripsi data. mode String Tidak Mode enkripsi AES. - CBC: Cipher Block Chaining (default)
- ECB: Electronic Code Book
- CFB: Cipher Feedback
- OFB: Output Feedback
- CTR: Counter
- OPENPGP
pad_style String Tidak Mode padding. Nilai default: pkcs7. Nilai valid: iso7816, x923, dan pkcs7. input_format String Tidak Format karakter masukan. Nilai default: raw. Nilai valid: - raw: bytes
- hex: heksadesimal
- base64: Base64 encoded
input_encoding String Tidak Format enkode untuk karakter masukan. Parameter ini diperlukan hanya jika Anda menyetel parameter input_format ke raw. Nilai default: utf-8. output_format String Tidak Format karakter keluaran. Nilai default: hex. Nilai valid: - raw: bytes
- hex: heksadesimal
- base64: Base64 encoded
iv Bytes Tidak Offset yang ingin Anda gunakan untuk enkripsi. Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1
- Log mentah
"test": "aliyuntest" - Aturan transformasi
e_set('result',aes_encrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", output_format="base64")) - Hasil
"result": "gXIqu0cBBtZHQxJBK8GLeA=="
- Log mentah
- Contoh 2
- Log mentah
"test": "aliyuntest" - Aturan transformasi
e_set('result',aes_encrypt(v("test"), "qwertyuiopasdfgh", iv=b"ywisnjaduaqibdqi", mode="OFB")) - Hasil
"result": "5cac3e9e1c42f713dc6d"
- Log mentah
- Contoh 1
aes_decrypt
Sintaksis
aes_decrypt(data, key, mode, pad_style, input_format, input_encoding, output_format, iv, output_encoding)Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Data yang ingin Anda dekripsi. key String Ya Kunci yang ingin Anda gunakan untuk mendekripsi data. mode String Tidak Mode dekripsi AES. - CBC: Cipher Block Chaining (default)
- ECB: Electronic Code Book
- CFB: Cipher Feedback
- OFB: Output Feedback
- CTR: Counter
- OPENPGP
pad_style String Tidak Mode padding. Nilai default: pkcs7. Nilai valid: iso7816, x923, dan pkcs7. input_format String Tidak Format karakter masukan. Nilai default: hex. Nilai valid: - raw: bytes
- hex: heksadesimal
- base64: Base64 encoded
input_encoding String Tidak Format enkode untuk karakter masukan. Parameter ini diperlukan hanya jika Anda menyetel parameter input_format ke raw. Nilai default: utf-8. output_format String Tidak Format karakter keluaran. Nilai default: raw. Nilai valid: - raw: bytes
- hex: heksadesimal
- base64: Base64 encoded
iv Bytes Tidak Offset yang ingin Anda gunakan untuk dekripsi. output_encoding String Tidak Format enkode untuk karakter keluaran. Nilai default: None. Respon
Mengembalikan string terdekripsi.
Contoh
- Contoh 1
- Log mentah
"test": "gXIqu0cBBtZHQxJBK8GLeA==" - Aturan transformasi
e_set('result', aes_decrypt(v("test"), "qwertyuiopasdfgd", iv=b"xxywosjdapdiawdk", input_format="base64")) - Hasil
"result": "aliyuntest"
- Log mentah
- Contoh 2
- Log mentah
"test": "5cac3e9e1c42f713dc6d" - Aturan transformasi
e_set('result', aes_decrypt(v("test"), "qwertyuiopasdfgh", iv=b"ywisnjaduaqibdqi", mode="OFB")) - Hasil
"result": "aliyuntest"
- Log mentah
- Contoh 1
md5_encoding
Sintaksis
md5_encoding(value, format="hex")Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda enkode. format String Tidak Nilai valid: binary dan hex. Nilai default: hex. Respon
Mengembalikan string ter-enkode.
Contoh
- Contoh 1
- Log mentah
str : GeeksforGeeks - Aturan transformasi
e_set("str_md5_en",md5_encoding(v("str"))) - Hasil
str : GeeksforGeeks str_md5_en : f1e069787ece74531d112559945c6871
- Log mentah
- Contoh 2
- Log mentah
str : GeeksforGeeks - Aturan transformasi
e_set("str_md5_en",base64_encoding(md5_encoding(v("str"), format="binary"))) - Hasil
str : GeeksforGeeks str_md5_en : 8eBpeH7OdFMdESVZlFxocQ==
- Log mentah
- Contoh 1
sha1_encoding
Sintaksis
sha1_encoding(value, format=None)Parameter
Parameter Tipe Diperlukan Deskripsi value String Ya Nilai yang ingin Anda enkode. format String Tidak Tipe enkode. Nilai valid: SHA1, SHA224, SHA256, SHA384, dan SHA512. Nilai default: SHA1. Respon
Mengembalikan string ter-enkode.
Contoh
- Log mentah
str : GeeksforGeeks - Aturan transformasi
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')) - Hasil
str : GeeksforGeeks str_sha1 : 4175a37afd561152fb60c305d4fa6026b7e79856 str_sha512 : 0d8fb9370a5bf7b892be4865cdf8b658a82209624e33ed71cae353b0df254a75db63d1baa35ad99f26f1b399c31f3c666a7fc67ecef3bdcdb7d60e8ada90b722 str_sha224 : 173994f309f727ca939bb185086cd7b36e66141c9e52ba0bdcfd145d str_sha384 : d1e67b8819b009ec7929933b6fc1928dd64b5df31bcde6381b9d3f90488d253240490460c0a5a1a873da8236c12ef9b3 str_sha256 : f6071725e7ddeb434fb6b32b8ec4a2b14dd7db0d785347b2fb48f9975126178f
- Log mentah
crc32_encoding
Sintaksis
crc32_encoding(data, input_format="raw", input_encoding="utf-8")Parameter
Parameter Tipe Diperlukan Deskripsi data String Ya Nilai untuk mana Anda ingin menghitung kode CRC. input_format String Tidak Format karakter masukan. Nilai default: raw. Nilai valid: - raw: bytes
- hex: heksadesimal
- base64: Base64 encoded
input_encoding String Tidak Format enkode untuk karakter masukan. Parameter ini diperlukan hanya jika Anda menyetel parameter input_format ke raw. Nilai default: utf-8. Respon
Mengembalikan kode CRC untuk nilai masukan.
Contoh
- Contoh 1: Hitung kode CRC untuk bidang test.
- Log mentah
test: aliyuntest - Aturan transformasi
e_set("str_crc32", crc32_encoding(v("test"))) - Hasil
str_crc32:1434103726 test:aliyuntest
- Log mentah
- Contoh 2: Gabungkan bidang test1 dan test2, enkode bidang tersebut menggunakan algoritma MD5, dan hitung kode CRC untuk bidang tersebut.
- Log mentah
test1: test1 test2: test2 - Aturan transformasi
e_set( "str_crc32", crc32_encoding( md5_encoding(str_join("+", v("test1"), v("test2")), format="binary") ), ) - Hasil
str_crc32:369733261 test1:test1 test2:test2
- Log mentah
- Contoh 3: Hitung kode CRC untuk bidang test. Nilai bidang di-enkode dalam Base64.
- Log mentah
test: Taloz+e+PzP3NltrEXiCig== - Aturan transformasi
e_set("str_crc32", crc32_encoding(v("test"), input_format="base64")) - Hasil
str_crc32:1093789404 test:Taloz+e+PzP3NltrEXiCig==
- Log mentah
- Contoh 1: Hitung kode CRC untuk bidang test.