Topik ini menjelaskan sintaks fungsi biner dan memberikan contohnya.
Simple Log Service mendukung fungsi biner berikut.
-
Dalam pernyataan kueri Simple Log Service, string harus diapit tanda kutip tunggal ('). Literal tanpa tanda kutip atau literal yang diapit tanda kutip ganda (") merepresentasikan nama field atau kolom. Misalnya, 'status' adalah string 'status', sedangkan status atau "status" merujuk pada field log status.
-
varbinary adalah tipe karakter biner, dan varchar adalah tipe karakter dengan panjang variabel.
|
Function |
Syntax |
Description |
SQL support |
SPL support |
|
from_base64(x) |
Mendekode string yang diencode Base64 menjadi data biner. |
√ |
√ |
|
|
from_base64url(x) |
Mendekode string Base64 yang aman untuk URL menjadi data biner. |
√ |
× |
|
|
from_big_endian_64(x) |
Mendekode bigint dari representasi biner big-endian-nya. |
√ |
× |
|
|
from_hex(x) |
Mengonversi string heksadesimal menjadi data biner. |
√ |
√ |
|
|
length(x) |
Mengembalikan panjang data varbinary dalam byte atau jumlah karakter dalam string varchar. |
√ |
× |
|
|
md5(x) |
Menghitung hash MD5 dari data biner. |
√ |
√ |
|
|
to_base64(x) |
Mengencode data biner menjadi string yang diencode Base64. |
√ |
√ |
|
|
to_base64url(x) |
Mengencode data biner menjadi string Base64 yang aman untuk URL. |
√ |
× |
|
|
to_hex(x) |
Mengonversi data biner menjadi string heksadesimal. |
√ |
√ |
|
|
to_big_endian_64(x) |
Mengencode bigint menjadi representasi biner big-endian-nya. |
√ |
× |
|
|
sha1(x) |
Menghitung hash SHA-1 dari data biner. |
√ |
√ |
|
|
sha256(x) |
Menghitung hash SHA-256 dari data biner. |
√ |
√ |
|
|
sha512(x) |
Menghitung hash SHA-512 dari data biner. |
√ |
√ |
|
|
xxhash64(x) |
Menghitung hash xxHash64 dari data biner. |
√ |
√ |
|
|
aes_encrypt(data, key, iv, mode, pad_style) |
Mengenkripsi data biner menggunakan enkripsi AES. |
√ |
√ |
|
|
aes_decrypt(data, key, iv, mode, pad_style) |
Mendekripsi data biner yang telah dienkripsi dengan AES. |
√ |
√ |
from_base64 function
Fungsi from_base64 mendekode string yang diencode Base64 menjadi data biner.
Syntax
from_base64(x)
Parameters
|
Parameter |
Description |
|
x |
String varchar. String ini harus diencode Base64. |
Return value type
varbinary
Tipe varbinary dapat berisi karakter tak terlihat. Konsol Simple Log Service menampilkan hasilnya dalam format Base64.
-
Untuk melihat nilai kembali yang berisi karakter tak terlihat, gunakan fungsi to_hex untuk mengonversinya ke string heksadesimal.
-
Jika nilai kembali hanya berisi karakter terlihat, gunakan fungsi from_utf8 untuk mengonversinya ke string UTF-8.
Examples
Dekode string yang diencode Base64 menjadi data biner, lalu konversi data biner tersebut ke string heksadesimal.
-
Query statement
* | SELECT to_hex(from_base64('c2xz')) -
Query results: Nilai kolom _col0 adalah
736C73.
from_base64url function
Fungsi from_base64url mendekode string Base64 yang aman untuk URL menjadi data biner.
Syntax
from_base64url(x)
Parameters
|
Parameter |
Description |
|
x |
String varchar. String ini harus merupakan string yang diencode Base64 dan aman untuk URL. |
Return value type
varbinary
Tipe varbinary dapat berisi karakter tak terlihat. Konsol Simple Log Service menampilkan hasilnya dalam format Base64.
-
Untuk melihat nilai kembali yang berisi karakter tak terlihat, gunakan fungsi to_hex untuk mengonversinya ke string heksadesimal.
-
Jika nilai kembali hanya berisi karakter terlihat, gunakan fungsi from_utf8 untuk mengonversinya ke string UTF-8.
Examples
Dekode string Base64 yang aman untuk URL menjadi data biner.
-
Query statement
* | SELECT to_hex(from_base64url('c2xz')) -
Query results: Nilai kolom _col0 adalah
736C73.
from_big_endian_64 function
Fungsi from_big_endian_64 mendekode bigint dari representasi biner big-endian-nya.
Syntax
from_big_endian_64(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
bigint
Examples
Konversi representasi biner big-endian dari angka 10 kembali ke angka.
-
Query statement
* | SELECT from_big_endian_64(to_big_endian_64(10)) -
Hasilnya adalah
10.
from_hex function
Fungsi from_hex mengonversi string heksadesimal menjadi data biner.
Syntax
from_hex(x)
Parameters
|
Parameter |
Description |
|
x |
String varchar heksadesimal. |
Return value type
varbinary
Examples
Konversi string heksadesimal 'D74D' ke data biner.
-
Query statement
* | SELECT from_hex('D74D') -
Query results: Nilai kolom
_col0adalah100=.
length function
Fungsi length mengembalikan panjang data varbinary dalam byte atau jumlah karakter dalam string varchar.
Syntax
length(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary atau varchar. |
Return value type
bigint
Examples
Hitung panjang string '00101000'.
-
Query statement
* | SELECT length('00101000') -
Hasilnya adalah
8.
md5 function
Fungsi md5 menghitung hash MD5 dari data biner.
Syntax
md5(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varbinary
Examples
Hitung hash MD5 dari data biner yang didekode dari string Base64 '1101'.
-
Query statement
* | SELECT MD5(from_base64('1101')) AS md5 -
Query results: Nilai kolom md5 adalah
rG3lOanun9N57opubMnPDw==.
to_base64 function
Fungsi to_base64 mengencode data biner menjadi string yang diencode Base64.
Syntax
to_base64(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varchar
Examples
Encode data biner yang didekode dari string Base64 '10' menjadi string Base64.
-
Query statement
* | SELECT to_base64(from_base64('10')) AS base64 -
Query results: Nilai kolom base64 adalah
1w==.
to_base64url function
Fungsi to_base64url mengencode data biner menjadi string Base64 yang aman untuk URL.
Syntax
to_base64url(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varchar
Examples
Encode data biner yang didekode dari string Base64 '100' menjadi string Base64 yang aman untuk URL.
-
Query statement
* | SELECT to_base64url(from_base64('100')) -
Query results:

to_hex function
Fungsi to_hex mengonversi data biner menjadi string heksadesimal.
Syntax
to_hex(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varchar
Examples
Konversi data biner yang didekode dari string Base64 '100' ke string heksadesimal.
-
Query statement
* | SELECT to_hex(from_base64('100')) -
Query results: Nilai kolom
_col0adalahD74D.
to_big_endian_64 function
Fungsi to_big_endian_64 mengencode bigint menjadi representasi biner big-endian-nya.
Syntax
to_big_endian_64(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi bigint. |
Return value type
varbinary
Examples
Konversi angka 0 ke data biner big-endian.
-
Query statement
* | SELECT to_big_endian_64(0) -
Query results:

sha1 function
Fungsi sha1 menghitung hash SHA-1 dari data biner.
Syntax
sha1(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varbinary
Examples
Hitung hash SHA-1 dari data biner yang didekode dari string Base64 '1101'.
-
Query statement
* | SELECT sha1(from_base64('1101')) AS sha1 -
Query results:

sha256 function
Fungsi sha256 menghitung hash SHA-256 dari data biner.
Syntax
sha256(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varbinary
Examples
Hitung hash SHA-256 dari data biner yang didekode dari string Base64 '1101'.
-
Query statement
* | SELECT sha256(from_base64('1101')) AS sha256 -
Query results:

sha512 function
Fungsi sha512 menghitung hash SHA-512 dari data biner.
Syntax
sha512(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varbinary
Examples
Hitung hash SHA-512 dari data biner yang didekode dari string Base64 '1101'.
-
Query statement
* | SELECT sha512(from_base64('1101')) AS sha512 -
Query results:

xxhash64 function
Fungsi xxhash64 menghitung hash xxHash64 dari data biner.
Syntax
xxhash64(x)
Parameters
|
Parameter |
Description |
|
x |
Ekspresi varbinary. |
Return value type
varbinary
Examples
Hitung hash xxHash64 dari data biner yang didekode dari string Base64 '10'.
-
Query statement
* | SELECT xxhash64(from_base64('10')) -
Query results:

aes_encrypt function
Fungsi aes_encrypt mengenkripsi data biner menggunakan enkripsi AES. Advanced Encryption Standard (AES) adalah algoritma enkripsi simetris yang banyak digunakan. Fungsi ini mendukung beberapa mode enkripsi, termasuk CBC, ECB, OFB, CFB, dan CTR, serta beberapa gaya padding.
Syntax
aes_encrypt(data, key, iv, mode, pad_style)
Parameters
|
Parameter |
Type |
Required |
Description |
|
data |
Binary |
Yes |
Data teks biasa yang akan dienkripsi. Nilai non-konstan didukung. |
|
key |
Binary |
Yes |
Kunci yang digunakan untuk enkripsi. |
|
iv |
Binary |
Yes |
Vektor inisialisasi (IV) untuk enkripsi. |
|
mode |
String |
No |
Mode enkripsi AES. Nilai default: CBC. Nilai yang valid: CBC (Cipher Block Chaining), ECB (Electronic Code Book), OFB (Output Feedback), CFB (Cipher Feedback), CTR (Counter). |
|
pad_style |
String |
No |
Gaya padding. Parameter ini hanya berlaku pada mode blok (CBC dan ECB). Mode aliran (OFB, CFB, dan CTR) tidak menggunakan padding. Nilai default: pkcs7. Nilai yang valid: pkcs7 (padding PKCS#7), iso7816 (padding ISO 7816), x923 (padding ANSI X.923). |
Return value type
Binary
Examples
Contoh 1: Enkripsi data menggunakan mode CBC default.
Raw log: {"test":"aliyuntest"}
-
Processing rule
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary))) -
Processing result:
{ "result": "gXIqu0cBBtZHQxJBK8GLeA==", "test": "aliyuntest" }
Contoh 2: Enkripsi data menggunakan mode ECB.
Raw log: {"test":"aliyuntest"}
-
Processing rule
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'ECB')) -
Processing result:
{ "result": "xh6A2VwoVuojfuA0CHuLBQ==", "test": "aliyuntest" }
Contoh 3: Enkripsi data menggunakan mode aliran OFB.
Raw log: {"test":"aliyuntest"}
-
Processing rule
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'OFB')) -
Processing result:
{ "result": "lBQuflXuEE2/bQ==", "test": "aliyuntest" }
aes_decrypt function
Fungsi aes_decrypt mendekripsi data biner yang telah dienkripsi dengan AES.
Syntax
aes_decrypt(data, key, iv, mode, pad_style)
Parameters
|
Parameter |
Type |
Required |
Description |
|
data |
Binary |
Yes |
Data ciphertext yang akan didekripsi. |
|
key |
Binary |
Yes |
Kunci yang digunakan untuk dekripsi. |
|
iv |
Binary |
Yes |
Vektor inisialisasi (IV) untuk dekripsi. |
|
mode |
String |
No |
Mode dekripsi AES. Nilai default: CBC. Nilai yang valid: CBC (Cipher Block Chaining), ECB (Electronic Code Book), OFB (Output Feedback), CFB (Cipher Feedback), CTR (Counter). |
|
pad_style |
String |
No |
Gaya padding. Parameter ini hanya berlaku pada mode blok (CBC dan ECB). Nilai default: pkcs7. Nilai yang valid: pkcs7 (padding PKCS#7), iso7816 (padding ISO 7816), x923 (padding ANSI X.923). |
Return value type
Binary (byte teks biasa, ditampilkan sebagai teks menggunakan encoding UTF-8)
Examples
Contoh 1: Dekripsi data yang dienkripsi dengan CBC (input Base64).
Raw log: {"test":"gXIqu0cBBtZHQxJBK8GLeA=="}
-
Processing rule
* | extend result=aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary)) -
Processing result:
{ "test": "gXIqu0cBBtZHQxJBK8GLeA==", "result": "aliyuntest" }
Contoh 2: Dekripsi data yang dienkripsi dengan mode aliran OFB.
Raw log: {"test": "lBQuflXuEE2/bQ=="}
-
Processing rule
* | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'OFB') as varchar) -
Processing result:
{ "test": "lBQuflXuEE2/bQ==", "result": "aliyuntest" }
Contoh 3: Dekripsi data yang dienkripsi dengan mode ECB.
Raw log: {"test": "xh6A2VwoVuojfuA0CHuLBQ=="}
-
Processing rule
* | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'ECB') as varchar) -
Processing result:
{ "test": "xh6A2VwoVuojfuA0CHuLBQ==", "result": "aliyuntest" }