Crypto
A interface Crypto do Azion Runtime: o objeto global crypto, a propriedade subtle e os métodos getRandomValues e randomUUID.
A interface Crypto dá acesso a um gerador de números aleatórios criptograficamente forte e a primitivas criptográficas. No Azion Runtime, o objeto global crypto é uma instância de Crypto, então uma function executa essas operações sem uma biblioteca externa. Para mais informações, consulte Crypto na MDN Web Docs.
Use crypto.randomUUID() para criar identificadores resistentes a colisões para sessões, requisições ou traces. Use crypto.getRandomValues() para construir nonces e tokens. Use crypto.subtle para gerar o hash ou o digest do payload de uma requisição e verificar sua integridade antes de encaminhá-la. A mesma propriedade valida um token assinado, como um JWT, dentro da function, sem chamada a uma origem.
Propriedades
| Propriedade | Tipo | Descrição |
|---|---|---|
crypto.subtle | SubtleCrypto | Dá acesso a primitivas criptográficas comuns, como hash, assinatura, criptografia e descriptografia. Para mais informações, consulte SubtleCrypto. |
Métodos
| Método | Descrição |
|---|---|
crypto.getRandomValues(typedArray) | Preenche o typed array que você passa com valores aleatórios criptograficamente fortes e o retorna. Aceita até 65.536 bytes por chamada. |
crypto.randomUUID() | Retorna um UUID versão 4 gerado aleatoriamente, uma string de 36 caracteres. |
Uma chamada a crypto.getRandomValues() com mais de 65.536 bytes lança uma exceção. O valor que um bloco catch recebe é undefined, não um objeto de erro: ele não tem name nem message. Mantenha cada chamada em até 65.536 bytes.
Exemplo
Este handler gera um UUID com crypto.randomUUID() e o retorna com seu comprimento e com a indicação de que ele corresponde ou não ao formato da versão 4:
A function retorna estes valores. O UUID muda a cada chamada: