Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Fonctions d'algorithmes de chiffrement

Dernière mise à jour :Aug 20, 2026

EdgeScript fournit des fonctions de chiffrement intégrées pour le chiffrement, le déchiffrement et le calcul de condensés à la périphérie du CDN. Utilisez ces fonctions dans vos scripts Edge pour signer les requêtes, vérifier l'intégrité ou protéger les données sensibles.

Présentation des fonctions

Fonction Catégorie Description
aes_new(config) AES Crée un objet AES pour le chiffrement et le déchiffrement
aes_enc(o, s) AES Chiffre un texte en clair à l'aide d'AES
aes_dec(o, s) AES Déchiffre un texte chiffré à l'aide d'AES
sha1(s) Digest Calcule un condensé SHA-1 (binaire)
sha2(s, l) Digest Calcule un condensé SHA-2 (binaire)
hmac(k, s, v) Digest Calcule un condensé HMAC (binaire)
hmac_sha1(k, s) Digest Calcule un condensé HMAC-SHA-1 (binaire)
md5(s) Digest Calcule un condensé MD5 (hexadécimal)
md5_bin(s) Digest Calcule un condensé MD5 (binaire)

aes_new

Crée un objet Advanced Encryption Standard (AES) destiné aux opérations ultérieures de chiffrement et de déchiffrement. Transmettez l'objet renvoyé à aes_enc() pour chiffrer ou à aes_dec() pour déchiffrer.

Syntaxe

aes_new(config)

Paramètres

config est un dictionnaire contenant les champs suivants :

Champ Type Obligatoire Description
key string Oui La clé de chiffrement
cipher_len integer Oui Longueur de la clé. Valeurs valides : 128, 192, 256
cipher_mode string Oui Mode de chiffrement. Valeurs valides : ecb, cbc, ctr, cfb, ofb
salt string Non Une valeur de sel
iv string Non Le vecteur d'initialisation

Valeur de retour

Renvoie un objet AES (type dictionnaire) en cas de succès, ou false en cas d'échec.

Exemple

L'exemple suivant crée des objets AES selon trois modes de chiffrement — ECB-128, CBC-256 et OFB-256 — puis chiffre et déchiffre une chaîne de texte en clair afin de vérifier l'exactitude de l'opération aller-retour.

aes_conf = []
plaintext = ''
if and($http_mode, eq($http_mode, 'ecb-128')) {
  set(aes_conf, 'key', 'ab8bfd9f-a1af-4ba2-bbb0-1ee520e3d8bc')
  set(aes_conf, 'salt', '1234567890')
  set(aes_conf, 'cipher_len', 128)
  set(aes_conf, 'cipher_mode', 'ecb')
  plaintext = 'hello aes ecb-128'
}
if and($http_mode, eq($http_mode, 'cbc-256')) {
  set(aes_conf, 'key', '146ebcc8-392b-4b3a-a720-e7356f62')
  set(aes_conf, 'cipher_len', 256)
  set(aes_conf, 'cipher_mode', 'cbc')
  set(aes_conf, 'iv', '0123456789abcdef')
  plaintext = 'hello aes cbc-256'
}
if and($http_mode, eq($http_mode, 'ofb-256')) {
  set(aes_conf, 'key', '146ebcc8-392b-4b3a-a720-e7356f62')
  set(aes_conf, 'cipher_len', 256)
  set(aes_conf, 'cipher_mode', 'ofb')
  set(aes_conf, 'iv', tochar(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
  plaintext = 'hello aes ofb-256'
}

aes_obj = aes_new(aes_conf)
if not(aes_obj) {
  say(concat('aes obj failed'))
  exit(400)
}

ciphertext = aes_enc(aes_obj, plaintext)
plaintext_reverse = aes_dec(aes_obj, ciphertext)

say(concat('plain: ', plaintext))
say(concat('cipher: ', tohex(ciphertext)))
say(concat('plain_reverse: ', plaintext_reverse))

if ne(plaintext, plaintext_reverse) {
  say('plaintext ~= plaintext_reverse')
  exit(400)
}

aes_enc

Chiffre une chaîne de texte en clair à l'aide d'AES.

Syntaxe

aes_enc(o, s)

Paramètres

Paramètre Description
o L'objet AES renvoyé par aes_new()
s Le texte en clair à chiffrer

Valeur de retour

Renvoie le texte chiffré obtenu après le chiffrement du texte spécifié par le paramètre s.

Exemple

Consultez l'exemple aes_new aes_new example pour un workflow complet de chiffrement et de déchiffrement.

aes_dec

Déchiffre une chaîne de texte chiffré à l'aide d'AES.

Syntaxe

aes_dec(o, s)

Paramètres

Paramètre Description
o L'objet AES renvoyé par aes_new()
s Le texte chiffré à déchiffrer

Valeur de retour

Renvoie le texte en clair obtenu après le déchiffrement du texte spécifié par le paramètre s.

Exemple

Consultez l'exemple aes_new aes_new example pour un workflow complet de chiffrement et de déchiffrement.

sha1

Calcule un condensé SHA-1.

Syntaxe

sha1(s)

Paramètres

Paramètre Description
s La chaîne d'entrée

Valeur de retour

Renvoie le condensé SHA-1 au format binaire. Utilisez tohex() pour le convertir en chaîne hexadécimale.

Exemple

digest = sha1('hello sha')
say(concat('sha1:', tohex(digest)))

Sortie :

sha1:853789bc783a6b573858b6cc9f913afe82962956

sha2

Calcule un condensé SHA-2.

Syntaxe

sha2(s, l)

Paramètres

Paramètre Description
s La chaîne d'entrée
l La longueur du condensé en bits. Valeurs valides : 224, 256, 384, 512

Valeur de retour

Renvoie le condensé SHA-2 au format binaire. Utilisez tohex() pour le convertir en chaîne hexadécimale.

Exemple

digest = sha2('hello sha2', 224)
say(concat('sha2-224:', tohex(digest)))

digest = sha2('hello sha2', 256)
say(concat('sha2-256:', tohex(digest)))

digest = sha2('hello sha2', 384)
say(concat('sha2-384:', tohex(digest)))

digest = sha2('hello sha2', 512)
say(concat('sha2-512:', tohex(digest)))

Sortie :

sha2-224:b24b7effcf53ce815ee7eb73c7382613aba1c334e2a1622655362927
sha2-256:af0425cee23c236b326ed1f008c9c7c143a611859a11e87d66d0a4c3217c7792
sha2-384:bebbdde9efabd4b9cf90856cf30e0b024dd13177d9367d2dcf8d7a04e059f92260f16b21e261358c2271be32086ef35b
sha2-512:a1d1aef051c198c0d26bc03500c177a315fa248cea815e04fbb9a75e5be5061617daab311c5e3d0b215dbfd4e83e73f23081242b0143dcdfce5cd92ec51394f7

hmac

Calcule un condensé HMAC à l'aide de l'algorithme spécifié.

Syntaxe

hmac(k, s, v)

Paramètres

Paramètre Description
k La clé HMAC
s La chaîne d'entrée
v L'algorithme de hachage. Valeurs valides : md5, sha1, sha256, sha512

Valeur de retour

Renvoie le condensé HMAC au format binaire. Utilisez tohex() pour le convertir en chaîne hexadécimale.

Exemple

k = '146ebcc8-392b-4b3a-a720-e7356f62f87b'
v = 'hello mac'
say(concat('hmac(md5): ', tohex(hmac(k, v, 'md5'))))
say(concat('hmac(sha1): ', tohex(hmac(k, v, 'sha1'))))
say(concat('hmac(sha256): ', tohex(hmac(k, v, 'sha256'))))
say(concat('hmac(sha512): ', tohex(hmac(k, v, 'sha512'))))
say(concat('hmac_sha1(): ', tohex(hmac_sha1(k, v))))

Sortie :

hmac(md5): 358cbfca8ad663b547c83748de2ea778
hmac(sha1): 5555633cef48c3413b68f9330e99357df1cc3d93
hmac(sha256): 7a494543cad3b92ce1e7c4bbc86a8f5212b53e4d661f7830f455847540a85771
hmac(sha512): 59d7c07996ff675b45bd5fd40a6122bb5f40f597357a9b4a9e29da6f5c7cb806798c016fe09cb46457b6df9717d26d0af19896f72eaf4296be03e3681fea59ad
hmac_sha1(): 5555633cef48c3413b68f9330e99357df1cc3d93

hmac_sha1

Calcule un condensé HMAC-SHA-1.

Syntaxe

hmac_sha1(k, s)

Paramètres

Paramètre Description
k La clé HMAC-SHA-1
s La chaîne d'entrée

Valeur de retour

Renvoie le condensé HMAC-SHA-1 au format binaire. Utilisez tohex() pour le convertir en chaîne hexadécimale.

Exemple

Consultez l'exemple hmac hmac example pour un exemple de sortie incluant hmac_sha1().

md5

Calcule un condensé MD5 et le renvoie sous forme de chaîne hexadécimale.

Syntaxe

md5(s)

Paramètres

Paramètre Description
s La chaîne d'entrée

Valeur de retour

Renvoie le condensé MD5 au format hexadécimal.

Exemple

say(concat('md5: ', md5('hello md5')))

Sortie :

md5: 741fc6b1878e208346359af502dd11c5

md5_bin

Calcule un condensé MD5 et le renvoie au format binaire. Utilisez cette fonction lorsque vous avez besoin des octets bruts, par exemple en tant qu'entrée pour une autre opération cryptographique.

Syntaxe

md5_bin(s)

Paramètres

Paramètre Description
s La chaîne d'entrée

Valeur de retour

Renvoie le condensé MD5 au format binaire. Utilisez tohex() pour le convertir en chaîne hexadécimale.

Exemple

say(concat('md5_bin: ', tohex(md5_bin('hello md5'))))

Sortie :

md5_bin: 741fc6b1878e208346359af502dd11c5