全部產品
Search
文件中心

Simple Log Service:二進位函數

更新時間:Aug 01, 2026

本文介紹二進位函數的基本文法及樣本。

Log Service支援如下二進位函數。

重要
  • 在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status或"status"表示日誌欄位status。

  • varbinary類型是二進位字元類型,varchar類型是可變長度字元類型。

函數名稱

文法

說明

支援SQL

支援SPL

from_base64函數

from_base64(x)

將BASE64編碼的字串解碼為二進位類型的資料。

√

√

from_base64url函數

from_base64url(x)

使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。

√

×

from_big_endian_64函數

from_big_endian_64(x)

將大端模式的二進位類型的資料轉化成數字。

√

×

from_hex函數

from_hex(x)

將十六進位類型的資料轉化成二進位類型的資料。

√

√

length函數

length(x)

計算二進位類型的資料的長度。

√

×

md5函數

md5(x)

對二進位類型的資料進行MD5編碼。

√

√

to_base64函數

to_base64(x)

對二進位類型的資料進行BASE64編碼。

√

√

to_base64url函數

to_base64url(x)

使用URL安全字元將二進位類型的資料進行BASE64編碼。

√

×

to_hex函數

to_hex(x)

將二進位類型的資料轉化成十六進位類型的資料。

√

√

to_big_endian_64函數

to_big_endian_64(x)

將數字轉化為大端模式的二進位類型的資料。

√

×

sha1函數

sha1(x)

對二進位類型的資料進行SHA1加密。

√

√

sha256函數

sha256(x)

對二進位類型的資料進行SHA256加密。

√

√

sha512函數

sha512(x)

對二進位類型的資料進行SHA512加密。

√

√

xxhash64函數

xxhash64(x)

對二進位類型的資料進行xxHash64加密。

√

√

aes_encrypt函數

aes_encrypt(data, key, iv, mode, pad_style)

對二進位類型的資料進行 AES 加密。

√

√

aes_decrypt函數

aes_decrypt(data, key, iv, mode, pad_style)

對二進位類型的資料進行 AES 解密。

√

√

from_base64函數

from_base64函數用於將BASE64編碼的字串解碼為二進位類型的資料。

文法

from_base64(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

重要

varbinary類型存在不可見字元,返回結果仍以BASE64編碼格式展示。

  • 如果傳回值是二進位類型的不可見字元,則您可以使用to_hex函數將其轉換為十六進位類型的資料。

  • 如果傳回值是二進位類型的可見字元,則您可以使用from_utf8函數將其轉換為UTF-8字串。

樣本

將BASE64編碼的字串解碼為二進位類型的資料後,再轉換為十六進位類型的資料。

  • 查詢和分析語句

    * | SELECT to_hex(from_base64('c2xz'))
  • 查詢和分析結果:查詢返回結果 _col0 列的值為 736C73。

from_base64url函數

from_base64url函數使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。

文法

from_base64url(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

重要

varbinary類型存在不可見字元,返回結果仍以BASE64編碼格式展示。

  • 如果傳回值是二進位類型的不可見字元,則您可以使用to_hex函數將其轉換為十六進位類型的資料。

  • 如果傳回值是二進位類型的可見字元,則您可以使用from_utf8函數將其轉換為UTF-8字串。

樣本

使用URL安全字元將BASE64編碼的字串解碼為二進位類型的資料。

  • 查詢和分析語句

    * | SELECT to_hex(from_base64url('c2xz'))
  • 查詢和分析結果:查詢返回結果 _col0 列的值為 736C73。

from_big_endian_64函數

from_big_endian_64函數用於將大端模式的二進位類型的資料轉化成數字。

文法

from_big_endian_64(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

bigint類型。

樣本

將大端模式的二進位類型的資料(10)轉化成數字。

  • 查詢和分析語句

    * | SELECT from_big_endian_64(to_big_endian_64(10))
  • 查詢和分析結果為 10。

from_hex函數

from_hex函數將十六進位類型的資料轉化成二進位類型的資料。

文法

from_hex(x)

參數說明

參數

說明

x

參數值為varbinary類型。

傳回值類型

varbinary類型。

樣本

將十六進位類型的資料(D74D)轉換為二進位類型的資料。

  • 查詢和分析語句

    * | SELECT from_hex('D74D')
  • 查詢和分析結果:_col0 列的值為 100=。

length函數

length函數用於計算二進位類型的資料的長度。

文法

length(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

bigint類型。

樣本

計算region欄位值的長度。

  • 查詢和分析語句

    * | SELECT length('00101000')
  • 查詢和分析結果傳回值為 8,即字串 00101000 的長度。

md5函數

md5函數用於對二進位類型的資料進行MD5編碼。

文法

md5(x)

參數說明

參數

說明

x

參數值為varbinary類型。

傳回值類型

varbinary類型。

樣本

對二進位類型的資料(1101)進行MD5編碼。

  • 查詢和分析語句

    * | SELECT MD5(from_base64('1101')) AS md5
  • 查詢和分析結果:md5的值為rG3lOanun9N57opubMnPDw==。

to_base64函數

to_base64函數用於對二進位類型的資料進行BASE64編碼。

文法

to_base64(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varchar類型。

樣本

對二進位類型的資料(10)進行BASE64編碼。

  • 查詢和分析語句

    * | SELECT  to_base64(from_base64('10')) AS base64
  • 查詢和分析結果:base64列的值為1w==。

to_base64url函數

to_base64url函數使用URL安全字元對二進位類型的資料進行BASE64編碼。

文法

to_base64url(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varchar類型。

樣本

使用URL安全字元對二進位類型的資料(100)進行BASE64編碼。

  • 查詢和分析語句

    * | SELECT  to_base64url(from_base64('100'))
  • 查詢和分析結果 to_base64url

to_hex函數

to_hex函數用於將二進位類型的資料轉化成十六進位類型的資料。

文法

to_hex(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varchar類型。

樣本

將二進位類型的資料(100)轉化成十六進位類型的資料。

  • 查詢和分析語句

    * | SELECT to_hex(from_base64('100'))
  • 查詢和分析結果:_col0 列的值為 D74D。

to_big_endian_64函數

to_big_endian_64函數用於將數字轉化為大端模式的二進位類型的資料。

文法

to_big_endian_64(x)

參數說明

參數

說明

x

參數值為bigint類型。

傳回值類型

varbinary類型。

樣本

將數字0轉換為大端模式的二進位類型的資料。

  • 查詢和分析語句

    * | SELECT to_big_endian_64(0)
  • 查詢和分析結果to_big_endian_64

sha1函數

sha1函數用於對二進位類型的資料進行SHA1加密。

文法

sha1(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

樣本

對二進位類型的資料(1101)進行SHA1加密。

  • 查詢和分析語句

    * | SELECT sha1(from_base64('1101')) AS sha1
  • 查詢和分析結果sha1

sha256函數

sha256函數用於對二進位類型的資料進行SHA256加密。

文法

sha256(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

樣本

對二進位類型的資料(1101)進行SHA256加密。

  • 查詢和分析語句

    * | SELECT sha256(from_base64('1101')) AS sha256
  • 查詢和分析結果sha256

sha512函數

sha512函數用於對二進位類型的資料進行SHA512加密。

文法

sha512(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

樣本

對二進位類型的資料(1101)進行SHA512加密。

  • 查詢和分析語句

    * | SELECT sha512(from_base64('1101')) AS sha512
  • 查詢和分析結果sha512

xxhash64函數

xxhash64函數用於對二進位類型的資料進行xxHash64加密。

文法

xxhash64(x)

參數說明

參數

說明

x

參數值為binary類型。

傳回值類型

varbinary類型。

樣本

對二進位類型的資料(10)進行xxhash64加密。

  • 查詢和分析語句

    * | SELECT xxhash64(from_base64('10'))
  • 查詢和分析結果xxhash64

aes_encrypt函數

aes_encrypt函數用於對資料進行 AES 加密。進階加密標準 AES(Advanced Encryption Standard)為最常見的對稱式加密演算法,支援 CBC、ECB、OFB、CFB、CTR 多種加密模式,以及多種填充方式。

文法

aes_encrypt(data, key, iv, mode, pad_style)

參數說明

參數名稱

參數類型

是否必填

說明

data

Binary

是

需要被加密的明文資料。支援非常量值。

key

Binary

是

加密資料使用的密鑰。

iv

Binary

是

加密使用位移量。

mode

String

否

AES 加密模式。預設值為 CBC。可取值包括:CBC(預設值):Cipher Block Chaining、ECB:Electronic Code Book、OFB:Output FeedBack、CFB:Cipher FeedBack、CTR:Counter。

pad_style

String

否

填充模式。僅對塊模式(CBC、ECB)生效,流模式(OFB、CFB、CTR)不依賴填充。預設為 pkcs7。可取值包括:pkcs7(預設值):PKCS#7 填充、iso7816:ISO 7816 填充、x923:ANSI X.923 填充。

傳回值類型

Binary 類型的加密結果。

樣本

樣本 1:使用預設 CBC 模式加密

  • 原始日誌

    {"test":"aliyuntest"}
  • 加工規則

    * | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary)))
  • 加工結果

    {"result": "gXIqu0cBBtZHQxJBK8GLeA==", "test": "aliyuntest"}

樣本 2:使用 ECB 模式加密

  • 原始日誌

    {"test":"aliyuntest"}
  • 加工規則

    * | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'ECB'))
  • 加工結果

    {"result": "xh6A2VwoVuojfuA0CHuLBQ==", "test": "aliyuntest"}

樣本 3:使用 OFB 流模式加密

  • 原始日誌

    {"test":"aliyuntest"}
  • 加工規則

    * | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'OFB'))
  • 加工結果

    {"result": "lBQuflXuEE2/bQ==", "test": "aliyuntest"}

aes_decrypt函數

aes_decrypt函數用於對已加密資料進行 AES 解密。

文法

aes_decrypt(data, key, iv, mode, pad_style)

參數說明

參數名稱

參數類型

是否必填

說明

data

Binary

是

需要被解密的密文資料。

key

Binary

是

解密資料使用的密鑰。

iv

Binary

是

解密使用位移量。

mode

String

否

AES 解密模式。預設值為 CBC。可取值包括:CBC(預設值):Cipher Block Chaining、ECB:Electronic Code Book、OFB:Output FeedBack、CFB:Cipher FeedBack、CTR:Counter。

pad_style

String

否

填充模式。僅對塊模式(CBC、ECB)生效,流模式(OFB、CFB、CTR)不依賴填充。預設為 pkcs7。可取值包括:pkcs7(預設值):PKCS#7 填充、iso7816:ISO 7816 填充、x923:ANSI X.923 填充。

傳回值類型

Binary 類型的解密結果(明文位元組),按 UTF-8 編碼展示為文本。

樣本

樣本 1:解密 CBC 模式加密的資料(Base64 輸入)

  • 原始日誌

    {"test":"gXIqu0cBBtZHQxJBK8GLeA=="}
  • 加工規則

    * | extend result=aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary))
  • 加工結果

    {"test": "gXIqu0cBBtZHQxJBK8GLeA==", "result": "aliyuntest"}

樣本 2:解密 OFB 流模式加密的資料

  • 原始日誌

    {"test": "lBQuflXuEE2/bQ=="}
  • 加工規則

    * | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'OFB') as varchar)
  • 加工結果

    {"test": "lBQuflXuEE2/bQ==", "result": "aliyuntest"}

樣本 3:解密 ECB 模式加密的資料

  • 原始日誌

    {"test": "xh6A2VwoVuojfuA0CHuLBQ=="}
  • 加工規則

    * | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'ECB') as varchar)
  • 加工結果

    {"test": "xh6A2VwoVuojfuA0CHuLBQ==", "result": "aliyuntest"}