Cette rubrique décrit la syntaxe des fonctions binaires et fournit des exemples.
Simple Log Service prend en charge les fonctions binaires suivantes.
Dans une instruction de requête Simple Log Service, les chaînes de caractères doivent être entourées de guillemets simples ('). Les littéraux non entre guillemets ou ceux entourés de guillemets doubles (") représentent des noms de champs ou de colonnes. Par exemple, 'status' désigne la chaîne 'status', tandis que status ou "status" fait référence au champ de journal status.
Le type varbinary est un type de caractère binaire, tandis que varchar est un type de caractère de longueur variable.
|
Fonction |
Syntaxe |
Description |
Prise en charge SQL |
Prise en charge SPL |
|
from_base64(x) |
Décode une chaîne encodée en Base64 en données binaires. |
√ |
√ |
|
|
from_base64url(x) |
Décode une chaîne Base64 sécurisée pour les URL en données binaires. |
√ |
× |
|
|
from_big_endian_64(x) |
Décode un bigint à partir de sa représentation binaire big-endian. |
√ |
× |
|
|
from_hex(x) |
Convertit une chaîne hexadécimale en données binaires. |
√ |
√ |
|
|
length(x) |
Renvoie la longueur des données varbinary en octets ou le nombre de caractères d'une chaîne varchar. |
√ |
× |
|
|
md5(x) |
Calcule le hachage MD5 des données binaires. |
√ |
√ |
|
|
to_base64(x) |
Encode les données binaires en une chaîne encodée en Base64. |
√ |
√ |
|
|
to_base64url(x) |
Encode les données binaires en une chaîne Base64 sécurisée pour les URL. |
√ |
× |
|
|
to_hex(x) |
Convertit les données binaires en une chaîne hexadécimale. |
√ |
√ |
|
|
to_big_endian_64(x) |
Encode un bigint dans sa représentation binaire big-endian. |
√ |
× |
|
|
sha1(x) |
Calcule le hachage SHA-1 des données binaires. |
√ |
√ |
|
|
sha256(x) |
Calcule le hachage SHA-256 des données binaires. |
√ |
√ |
|
|
sha512(x) |
Calcule le hachage SHA-512 des données binaires. |
√ |
√ |
|
|
xxhash64(x) |
Calcule le hachage xxHash64 des données binaires. |
√ |
√ |
|
|
aes_encrypt(data, key, iv, mode, pad_style) |
Chiffre les données binaires à l'aide du chiffrement AES. |
√ |
√ |
|
|
aes_decrypt(data, key, iv, mode, pad_style) |
Déchiffre les données binaires chiffrées avec AES. |
√ |
√ |
Fonction from_base64
La fonction from_base64 décode une chaîne encodée en Base64 en données binaires.
Syntax
from_base64(x)
Parameters
|
Paramètre |
Description |
|
x |
Chaîne de type varchar. Cette chaîne doit être encodée en Base64. |
Return value type
varbinary
Le type varbinary peut contenir des caractères invisibles. La console Simple Log Service affiche le résultat au format Base64.
Pour afficher une valeur de retour contenant des caractères invisibles, utilisez la fonction to_hex afin de la convertir en chaîne hexadécimale.
Si la valeur de retour ne contient que des caractères visibles, utilisez la fonction from_utf8 pour la convertir en chaîne UTF-8.
Examples
Décodez une chaîne encodée en Base64 en données binaires, puis convertissez ces données binaires en chaîne hexadécimale.
-
Instruction de requête
* | SELECT to_hex(from_base64('c2xz')) Résultats de la requête : la valeur de la colonne _col0 est
736C73.
Fonction from_base64url
La fonction from_base64url décode une chaîne Base64 sécurisée pour les URL en données binaires.
Syntax
from_base64url(x)
Parameters
|
Paramètre |
Description |
|
x |
Chaîne de type varchar. Cette chaîne doit être encodée en Base64 et sécurisée pour les URL. |
Return value type
varbinary
Le type varbinary peut contenir des caractères invisibles. La console Simple Log Service affiche le résultat au format Base64.
Pour afficher une valeur de retour contenant des caractères invisibles, utilisez la fonction to_hex afin de la convertir en chaîne hexadécimale.
Si la valeur de retour ne contient que des caractères visibles, utilisez la fonction from_utf8 pour la convertir en chaîne UTF-8.
Examples
Décodez une chaîne Base64 sécurisée pour les URL en données binaires.
-
Instruction de requête
* | SELECT to_hex(from_base64url('c2xz')) Résultats de la requête : la valeur de la colonne _col0 est
736C73.
Fonction from_big_endian_64
La fonction from_big_endian_64 décode un bigint à partir de sa représentation binaire big-endian.
Syntax
from_big_endian_64(x)
Parameters
|
Paramètre |
Description |
|
x |
Expression de type varbinary. |
Return value type
bigint
Examples
Reconvertissez en nombre la représentation binaire big-endian du nombre 10.
-
Instruction de requête
* | SELECT from_big_endian_64(to_big_endian_64(10)) Le résultat est
10.
Fonction from_hex
La fonction from_hex convertit une chaîne hexadécimale en données binaires.
Syntax
from_hex(x)
Parameters
|
Paramètre |
Description |
|
x |
Chaîne varchar hexadécimale. |
Return value type
varbinary
Examples
Convertissez la chaîne hexadécimale 'D74D' en données binaires.
-
Instruction de requête
* | SELECT from_hex('D74D') Résultats de la requête : la valeur de la colonne
_col0est100=.
Fonction length
La fonction length renvoie la longueur des données varbinary en octets ou le nombre de caractères d'une chaîne varchar.
Syntax
length(x)
Parameters
|
Paramètre |
Description |
|
x |
Expression de type varbinary ou varchar. |
Return value type
bigint
Examples
Calculez la longueur de la chaîne '00101000'.
-
Instruction de requête
* | SELECT length('00101000') Le résultat est
8.
Fonction md5
La fonction md5 calcule le hachage MD5 des données binaires.
Syntax
md5(x)
Parameters
|
Paramètre |
Description |
|
x |
Expression de type varbinary. |
Return value type
varbinary
Examples
Calculez le hachage MD5 des données binaires décodées à partir de la chaîne Base64 '1101'.
-
Instruction de requête
* | SELECT MD5(from_base64('1101')) AS md5 Résultats de la requête : la valeur de la colonne md5 est
rG3lOanun9N57opubMnPDw==.
Fonction to_base64
La fonction to_base64 encode les données binaires en une chaîne encodée en Base64.
Syntax
to_base64(x)
Parameters
|
Paramètre |
Description |
|
x |
Expression de type varbinary. |
Return value type
varchar
Examples
Encodez les données binaires décodées à partir de la chaîne Base64 '10' en une chaîne Base64.
-
Instruction de requête
* | SELECT to_base64(from_base64('10')) AS base64 Résultats de la requête : la valeur de la colonne base64 est
1w==.
Fonction to_base64url
La fonction to_base64url encode des données binaires dans une chaîne Base64 sécurisée pour les URL.
Syntax
to_base64url(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varchar
Examples
Encodez les données binaires décodées à partir de la chaîne Base64 « 100 » dans une chaîne Base64 sécurisée pour les URL.
-
Instruction de requête
* | SELECT to_base64url(from_base64('100')) Résultats de la requête :

Fonction to_hex
La fonction to_hex convertit des données binaires en une chaîne hexadécimale.
Syntax
to_hex(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varchar
Examples
Convertissez les données binaires décodées à partir de la chaîne Base64 « 100 » en une chaîne hexadécimale.
-
Instruction de requête
* | SELECT to_hex(from_base64('100')) Résultats de la requête : la valeur de la colonne
_col0estD74D.
Fonction to_big_endian_64
La fonction to_big_endian_64 encode un entier bigint dans sa représentation binaire big-endian.
Syntax
to_big_endian_64(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression bigint. |
Return value type
varbinary
Examples
Convertissez le nombre 0 en données binaires big-endian.
-
Instruction de requête
* | SELECT to_big_endian_64(0) Résultats de la requête :

Fonction sha1
La fonction sha1 calcule le hachage SHA-1 des données binaires.
Syntax
sha1(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varbinary
Examples
Calculez le hachage SHA-1 des données binaires décodées à partir de la chaîne Base64 « 1101 ».
-
Instruction de requête
* | SELECT sha1(from_base64('1101')) AS sha1 Résultats de la requête :

Fonction sha256
La fonction sha256 calcule le hachage SHA-256 des données binaires.
Syntax
sha256(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varbinary
Examples
Calculez le hachage SHA-256 des données binaires décodées à partir de la chaîne Base64 « 1101 ».
-
Instruction de requête
* | SELECT sha256(from_base64('1101')) AS sha256 Résultats de la requête :

Fonction sha512
La fonction sha512 calcule le hachage SHA-512 des données binaires.
Syntax
sha512(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varbinary
Examples
Calculez le hachage SHA-512 des données binaires décodées à partir de la chaîne Base64 « 1101 ».
-
Instruction de requête
* | SELECT sha512(from_base64('1101')) AS sha512 Résultats de la requête :

Fonction xxhash64
La fonction xxhash64 calcule le hachage xxHash64 des données binaires.
Syntax
xxhash64(x)
Parameters
|
Parameter |
Description |
|
x |
Une expression varbinary. |
Return value type
varbinary
Examples
Calculez le hachage xxHash64 des données binaires décodées à partir de la chaîne Base64 « 10 ».
-
Instruction de requête
* | SELECT xxhash64(from_base64('10')) Résultats de la requête :

Fonction aes_encrypt
La fonction aes_encrypt chiffre des données binaires à l'aide du chiffrement AES. L'Advanced Encryption Standard (AES) est un algorithme de chiffrement symétrique largement utilisé. Il prend en charge plusieurs modes de chiffrement, notamment CBC, ECB, OFB, CFB et CTR, ainsi que plusieurs styles de remplissage.
Syntax
aes_encrypt(data, key, iv, mode, pad_style)
Parameters
|
Parameter |
Type |
Required |
Description |
|
data |
Binary |
Yes |
Les données en texte clair à chiffrer. Les valeurs non constantes sont prises en charge. |
|
key |
Binary |
Yes |
La clé utilisée pour le chiffrement. |
|
iv |
Binary |
Yes |
Le vecteur d'initialisation (IV) pour le chiffrement. |
|
mode |
String |
No |
Le mode de chiffrement AES. Valeur par défaut : CBC. Valeurs valides : CBC (Cipher Block Chaining), ECB (Electronic Code Book), OFB (Output Feedback), CFB (Cipher Feedback), CTR (Counter). |
|
pad_style |
String |
No |
Le style de remplissage. Ce paramètre n'est effectif que dans les modes par bloc (CBC et ECB). Les modes flux (OFB, CFB et CTR) n'utilisent pas de remplissage. Valeur par défaut : pkcs7. Valeurs valides : pkcs7 (remplissage PKCS#7), iso7816 (remplissage ISO 7816), x923 (remplissage ANSI X.923). |
Return value type
Binary
Examples
Exemple 1 : chiffrez des données en utilisant le mode CBC par défaut.
Journal brut : {"test":"aliyuntest"}
-
Règle de traitement
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary))) -
Résultat du traitement :
{ "result": "gXIqu0cBBtZHQxJBK8GLeA==", "test": "aliyuntest" }
Exemple 2 : chiffrez des données en utilisant le mode ECB.
Journal brut : {"test":"aliyuntest"}
-
Règle de traitement
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'ECB')) -
Résultat du traitement :
{ "result": "xh6A2VwoVuojfuA0CHuLBQ==", "test": "aliyuntest" }
Exemple 3 : chiffrez des données en utilisant le mode flux OFB.
Journal brut : {"test":"aliyuntest"}
-
Règle de traitement
* | extend result=to_base64(aes_encrypt(cast(test as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary),'OFB')) -
Résultat du traitement :
{ "result": "lBQuflXuEE2/bQ==", "test": "aliyuntest" }
Fonction aes_decrypt
La fonction aes_decrypt déchiffre des données binaires chiffrées avec AES.
Syntax
aes_decrypt(data, key, iv, mode, pad_style)
Parameters
|
Parameter |
Type |
Required |
Description |
|
data |
Binary |
Yes |
Les données chiffrées à déchiffrer. |
|
key |
Binary |
Yes |
La clé utilisée pour le déchiffrement. |
|
iv |
Binary |
Yes |
Le vecteur d'initialisation (IV) pour le déchiffrement. |
|
mode |
String |
No |
Le mode de déchiffrement AES. Valeur par défaut : CBC. Valeurs valides : CBC (Cipher Block Chaining), ECB (Electronic Code Book), OFB (Output Feedback), CFB (Cipher Feedback), CTR (Counter). |
|
pad_style |
String |
No |
Le style de remplissage. Ce paramètre n'est effectif que dans les modes par bloc (CBC et ECB). Valeur par défaut : pkcs7. Valeurs valides : pkcs7 (remplissage PKCS#7), iso7816 (remplissage ISO 7816), x923 (remplissage ANSI X.923). |
Return value type
Binary (octets en texte clair, affichés sous forme de texte à l'aide de l'encodage UTF-8)
Examples
Exemple 1 : déchiffrez des données chiffrées en mode CBC (entrée Base64).
Journal brut : {"test":"gXIqu0cBBtZHQxJBK8GLeA=="}
-
Règle de traitement
* | extend result=aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary)) -
Résultat du traitement :
{ "test": "gXIqu0cBBtZHQxJBK8GLeA==", "result": "aliyuntest" }
Exemple 2 : déchiffrez des données chiffrées en mode flux OFB.
Journal brut : {"test": "lBQuflXuEE2/bQ=="}
-
Règle de traitement
* | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'OFB') as varchar) -
Résultat du traitement :
{ "test": "lBQuflXuEE2/bQ==", "result": "aliyuntest" }
Exemple 3 : déchiffrez des données chiffrées en mode ECB.
Journal brut : {"test": "xh6A2VwoVuojfuA0CHuLBQ=="}
-
Règle de traitement
* | extend result=cast(aes_decrypt(cast(from_base64(test) as binary), cast('qwertyuiopasdfgd' as binary), cast('xxywosjdapdiawdk' as binary), 'ECB') as varchar) -
Résultat du traitement :
{ "test": "xh6A2VwoVuojfuA0CHuLBQ==", "result": "aliyuntest" }