Todos os produtos
Search
Central de documentação

CDN:Funções de algoritmo de cifra

Última atualização: Sep 17, 2026

O EdgeScript oferece funções de cifra integradas para criptografia, descriptografia e cálculo de resumo na borda da CDN. Use essas funções em seus scripts de borda para assinar requisições, verificar integridade ou proteger dados sensíveis.

Visão geral das funções

Função

Categoria

Descrição

aes_new(config)

AES

Cria um objeto AES para criptografia e descriptografia

aes_enc(o, s)

AES

Criptografa texto simples com AES

aes_dec(o, s)

AES

Descriptografa texto cifrado com AES

sha1(s)

Resumo

Calcula um resumo SHA-1 (binário)

sha2(s, l)

Resumo

Calcula um resumo SHA-2 (binário)

hmac(k, s, v)

Resumo

Calcula um resumo HMAC (binário)

hmac_sha1(k, s)

Resumo

Calcula um resumo HMAC-SHA-1 (binário)

md5(s)

Resumo

Calcula um resumo MD5 (hexadecimal)

md5_bin(s)

Resumo

Calcula um resumo MD5 (binário)

aes_new

Cria um objeto Advanced Encryption Standard (AES) para operações subsequentes de criptografia e descriptografia. Passe o objeto retornado para aes_enc() para criptografar ou para aes_dec() para descriptografar.

Sintaxe

aes_new(config)

Parâmetros

config é um dicionário com os seguintes campos:

Campo

Tipo

Obrigatório

Descrição

key

string

Sim

Chave de criptografia

cipher_len

integer

Sim

Comprimento da chave. Valores válidos: 128, 192, 256

cipher_mode

string

Sim

Modo de cifra. Valores válidos: ecb, cbc, ctr, cfb, ofb

salt

string

Não

Valor de salt

iv

string

Não

Vetor de inicialização

Valor de retorno

Retorna um objeto AES (tipo dicionário) em caso de sucesso ou false em caso de falha.

Exemplo

O exemplo a seguir cria objetos AES em três modos de cifra (ECB-128, CBC-256 e OFB-256), criptografa e descriptografa uma string de texto simples para validar o ciclo completo.

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

Criptografa uma string de texto simples com AES.

Sintaxe

aes_enc(o, s)

Parâmetros

Parâmetro

Descrição

o

Objeto AES retornado por aes_new()

s

Texto simples a criptografar

Valor de retorno

Retorna o texto cifrado resultante da criptografia do conteúdo especificado no parâmetro s.

Exemplo

Consulte o exemplo de aes_new para obter um fluxo de trabalho completo de criptografia e descriptografia.

aes_dec

Descriptografa uma string de texto cifrado com AES.

Sintaxe

aes_dec(o, s)

Parâmetros

Parâmetro

Descrição

o

Objeto AES retornado por aes_new()

s

Texto cifrado a descriptografar

Valor de retorno

Retorna o texto simples resultante da descriptografia do conteúdo especificado no parâmetro s.

Exemplo

Consulte o exemplo de aes_new para obter um fluxo de trabalho completo de criptografia e descriptografia.

sha1

Calcula um resumo SHA-1.

Sintaxe

sha1(s)

Parâmetros

Parâmetro

Descrição

s

String de entrada

Valor de retorno

Retorna o resumo SHA-1 em formato binário. Use tohex() para converter o resultado em uma string hexadecimal.

Exemplo

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

Saída:

sha1:853789bc783a6b573858b6cc9f913afe82962956

sha2

Calcula um resumo SHA-2.

Sintaxe

sha2(s, l)

Parâmetros

Parâmetro

Descrição

s

String de entrada

l

Comprimento do resumo em bits. Valores válidos: 224, 256, 384, 512

Valor de retorno

Retorna o resumo SHA-2 em formato binário. Use tohex() para converter o resultado em uma string hexadecimal.

Exemplo

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)))

Saída:

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

hmac

Calcula um resumo HMAC com o algoritmo especificado.

Sintaxe

hmac(k, s, v)

Parâmetros

Parâmetro

Descrição

k

Chave HMAC

s

String de entrada

v

Algoritmo de hash. Valores válidos: md5, sha1, sha256, sha512

Valor de retorno

Retorna o resumo HMAC em formato binário. Use tohex() para converter o resultado em uma string hexadecimal.

Exemplo

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))))

Saída:

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

hmac_sha1

Calcula um resumo HMAC-SHA-1.

Sintaxe

hmac_sha1(k, s)

Parâmetros

Parâmetro

Descrição

k

Chave HMAC-SHA-1

s

String de entrada

Valor de retorno

Retorna o resumo HMAC-SHA-1 em formato binário. Use tohex() para converter o resultado em uma string hexadecimal.

Exemplo

Consulte o exemplo de hmac para ver uma saída de exemplo que inclui hmac_sha1().

md5

Calcula um resumo MD5 e retorna o resultado como string hexadecimal.

Sintaxe

md5(s)

Parâmetros

Parâmetro

Descrição

s

String de entrada

Valor de retorno

Retorna o resumo MD5 em formato hexadecimal.

Exemplo

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

Saída:

md5: 741fc6b1878e208346359af502dd11c5

md5_bin

Calcula um resumo MD5 e retorna o resultado em formato binário. Use esta função quando precisar dos bytes brutos, por exemplo, como entrada para outra operação criptográfica.

Sintaxe

md5_bin(s)

Parâmetros

Parâmetro

Descrição

s

String de entrada

Valor de retorno

Retorna o resumo MD5 em formato binário. Use tohex() para converter o resultado em uma string hexadecimal.

Exemplo

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

Saída:

md5_bin: 741fc6b1878e208346359af502dd11c5