new Crypto()
Classe responsável pela criptografia.
Members
-
<static, constant> AES_CBC :string
-
Indica que deve ser utilizado o algoritmo de criptografia AES no modo CBC.
Type:
- string
-
<static, constant> AES_ECB :string
-
Indica que deve ser utilizado o algoritmo de criptografia AES no modo ECB.
Type:
- string
-
<static, constant> BLOWFISH_CBC :string
-
Indica que deve ser utilizado o algoritmo de criptografia Blowfish no modo CBC.
Type:
- string
-
<static, constant> BLOWFISH_CFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Blowfish no modo CFB.
Type:
- string
-
<static, constant> BLOWFISH_ECB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Blowfish no modo ECB.
Type:
- string
-
<static, constant> BLOWFISH_OFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Blowfish no modo OFB.
Type:
- string
-
<static, constant> DES3_CBC :string
-
Indica que deve ser utilizado o algoritmo de criptografia Tripe DES no modo CBC.
Type:
- string
-
<static, constant> DES3_CFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Tripe DES no modo CFB.
Type:
- string
-
<static, constant> DES3_ECB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Tripe DES no modo ECB.
Type:
- string
-
<static, constant> DES3_OFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia Tripe DES no modo OFB.
Type:
- string
-
<static, constant> DES_CBC :string
-
Indica que deve ser utilizado o algoritmo de criptografia DES no modo CBC.
Type:
- string
-
<static, constant> DES_CFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia DES no modo CFB.
Type:
- string
-
<static, constant> DES_ECB :string
-
Indica que deve ser utilizado o algoritmo de criptografia DES no modo ECB.
Type:
- string
-
<static, constant> DES_OFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia DES no modo OFB.
Type:
- string
-
<static, constant> RC2_CBC :string
-
Indica que deve ser utilizado o algoritmo de criptografia RC2 no modo CBC.
Type:
- string
-
<static, constant> RC2_CFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia RC2 no modo CFB.
Type:
- string
-
<static, constant> RC2_ECB :string
-
Indica que deve ser utilizado o algoritmo de criptografia RC2 no modo ECB.
Type:
- string
-
<static, constant> RC2_OFB :string
-
Indica que deve ser utilizado o algoritmo de criptografia RC2 no modo OFB.
Type:
- string
Methods
-
<static> decrypt(data, key [, cipher] [, iv])
-
Decodifica um conteúdo encriptado usando um algoritmo de criptografia simétrica.
Esta função trata as strings como se fossem uma sequência de bytes no formato conhecido por Binary Strings. Para desencriptar conteúdos binários ou textos que não sejam ASCII, é recomendado o uso da função
Crypto.decryptBytes
. Para desencriptar strings, utilize a classeTextEncoder
para converter uma string em um Uint8Array, tornando explícita a codificação adotada.Parameters:
Name Type Argument Description data
string O dado a ser decodificado.
key
string A chave de criptografia.
cipher
string <optional>
O nome da cifra, sendo AES_ECB o valor padrão.
iv
string <optional>
vetor de inicialização
- See:
Returns:
o dado decodificado
- Type
- string
-
<static> decryptBytes(data, key [, cipher] [, iv])
-
Decodifica um conteúdo encriptado usando um algoritmo de criptografia simétrica.
Parameters:
Name Type Argument Description data
Uint8Array | ArrayBuffer O dado a ser decodificado.
key
Uint8Array | ArrayBuffer A chave de criptografia.
cipher
string <optional>
O nome da cifra, sendo AES_ECB o valor padrão.
iv
Uint8Array | ArrayBuffer <optional>
Vetor de inicialização.
- See:
Returns:
O dado decodificado.
- Type
- Uint8Array
-
<static> encrypt(data, key [, cipher] [, iv])
-
Realiza uma operação de encriptação usando um algoritmo de criptografia simétrica.
Esta função trata as strings como se fossem uma sequência de bytes no formato conhecido por Binary Strings. Para encriptar conteúdos binários ou textos que não sejam ASCII, é recomendado o uso da função
Crypto.encryptBytes
. Para encriptar strings, utilize a classeTextEncoder
para converter uma string em um Uint8Array, tornando explícita a codificação adotada.Parameters:
Name Type Argument Description data
string O dado a ser encriptado.
key
string A chave de criptografia.
cipher
string <optional>
O nome da cifra, sendo AES_ECB o valor padrão.
iv
string <optional>
Vetor de inicialização.
- See:
Returns:
O dado encriptado
- Type
- string
-
<static> encryptBytes(data, key [, cipher] [, iv])
-
Realiza uma operação de encriptação usando um algoritmo de criptografia simétrica.
Parameters:
Name Type Argument Description data
Uint8Array | ArrayBuffer O dado a ser encriptado.
key
Uint8Array | ArrayBuffer A chave de criptografia.
cipher
string <optional>
O nome da cifra, sendo AES_ECB o valor default.
iv
Uint8Array | ArrayBuffer <optional>
Vetor de inicialização.
- See:
Returns:
O dado encriptado.
- Type
- Uint8Array
-
<static> randomBytes(size [, resultType])
-
Produz uma sequência pseudo-aleatória de bytes.
Parameters:
Name Type Argument Description size
number Número de bytes.
resultType
string <optional>
O tipo do resultado gerado por esta função. Os valores possíveis são "uint8array", "arraybuffer" e "binarystring". Caso não seja informado, será retornado um ArrayBuffer.
Returns:
Buffer contendo a sequência pseudo-aleatória de bytes gerada.
- Type
- ArrayBuffer | Uint8Array | string
-
<static> scrypt(password, salt, keylen [, params])
-
Scrypt é uma função de derivação de chaves projetada para exigir um esforço computacional alto com o objetivo de dificultar ataques de força bruta.
O salt informado deve ser aleatório e deve ter ao menos 16 bytes, conforme recomendações em NIST SP 800-132.
Quando valores do tipo string são informados em password e salt, eles são codificados em UTF-8.
Mais detalhes do algoritmo Scrypt podem ser observados em Wikipedia Scrypt.
Parameters:
Name Type Argument Description password
Uint8Array | ArrayBuffer | string Palavra chave que será digerida pela função.
salt
Uint8Array | ArrayBuffer | string Sequência de bytes aleatórios que tem o objetivo de defender o algoritmo contra ataques de dicionário e de ataques pré-computados via "rainbow tables". O salt utilizado deve ser guardado juntamente com o resultado desta função.
keylen
number Tamanho em bytes da chave derivada que será gerada por esta função.
params
Object <optional>
Parâmetros de esforço computacional do algoritmo Scrypt.
Properties
Name Type Argument Description N
number <optional>
Parâmetro que define o custo de CPU e memória. Deve ser uma potência de dois, maior que um. Valor padrão: 16384.
r
number <optional>
Parâmetro que define o tamanho do bloco. Valor padrão: 8.
p
number <optional>
Parâmetro que define a paralelização. Valor padrão: 1.
Returns:
Chave derivada gerada a partir da senha informada.
- Type
- Uint8Array