Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

    Local oTokenPBKDF2 := tPBKDF2():New()

...

Métodos

A classe expõe os seguintes métodos:

setPassword

...

Ajusta a senha que será utilizado na criptografia.

Sintaxe
setPassword( < cAlgo > )

...

     oTokenPBKDF2:setPassword("password") 

...

setSalt

...

Ajusta o Salt ou palavra de derivação utilizada na criptografia.

Sintaxe
setSalt( < cAlgo > )

...

    oTokenPBKDF2:setSalt("salt") 

...

setIteration

...

Ajusta o número de iterações utilizadas na criptografia, quanto maior o valor mais recurso será utilizado do processador e irá demorar mais para ser processado.
O número mínimo é de 1 e o valor recomendado é 1000.

Sintaxe
setIteration( < citeration > )

...

    oTokenPBKDF2:setIteration(10000) 

...

setKeylength

...

Ajusta o tamanho do buffer de saída em bytes, mínimo é de 8 bytes e máximo de 64 bytes.

Sintaxe
setKeylength( < ckeylength > )

...

    oTokenPBKDF2:setKeylength(16)

...

setDigest

...

Ajusta a função de digestão utilizado na criptografia.

Sintaxe
setDigest( < cdigest > )

...

    oTokenPBKDF2:setDigest("SHA256")

...

encrypt

...

Função deve ser chamada obrigatoriamente após os ajustes acima.  

Sintaxe
encrypt()

...

Obrigatório a chamada desta função para criptografar os dados e também identificar erros.

Exemplos
    oTokenPBKDF2:encrypt() 

...

Funções de retorno.

getKeyHex

...

Função de retorno da criptografia em Hexadecimal, 2 caracteres por byte em maiúsculo os bytes são definidos no setKeyLength.

Sintaxe
getKeyHex()
Exemplos
    oTokenPBKDF2:getKeyHex()

...

getKeyRaw

...

Função de retorno da criptografia em formato RAW.

Sintaxe
getKeyRaw()
Exemplos
    oTokenPBKDF2:getKeyRaw()

...

getKeyBase64

Função de retorno da criptografia em formato Base64 (RFC1521).

Sintaxe
getKeyBase64()
Exemplos
    oTokenPBKDF2:getKeyBase64()

...

getKeyUrl_Base64

Função de retorno da criptografia em formato Base64 URL Applications (RFC4648).

Sintaxe
getKeyUrl_Base64()
Exemplos
    oTokenPBKDF2:getKeyUrl_Base64()

getKeyBase64() //Formato BASE64, RFC1521 

...

...

release

Obtém a versão da lib da openssl utilizada.

Sintaxe  oTokenPBKDF2:release()
release()
Exemplos
    conout("Versão da openssl: " + oTokenPBKDF2:release())

...

Sintaxe  oTokenPBKDF2:getLastError()
getLastError()
Exemplos

...

conout("Erro

...

na

...

geração

...

da

...

criptografia.

...

Error:

...

"

...

+

...

oTokenPBKDF2:getLastError())

...



Saída de erros, todos serão impresso no console.log.

CausaErros
setPassword não informado.PBKDF2 The password is not provided.
setSalt não informado.PBKDF2 The salt is missing.
setSalt contém mais de 64 caracteres.PBKDF2 The salt size is greater than 64, too large.
setIteration informado menor que 1.PBKDF2 The minimum number of iterations is 1.
setKeylength informado menor que 8.PBKDF2 The minimum key size is 8 bytes or 64 bits.
setKeylength informado maior que 8.PBKDF2 The maximum key size is 64 bytes or 512 bits.
setDigest invalido, consulte a lista da documentação.PBKDF2 Invalid digest.
Erro ao gerar o PBKDF2PKCS5_PBKDF2_HMAC_SHA1 failed.



...


Testes de iteration e tempo médio de execução.

Informações

Abaixo consta um exemplo de reprodução, aumentando as iterações "iteration" demonstrando que quanto maior o número mais demora para terminar o processamento.
Em caso de utilização de maquinas mais fracas o tempo aumentará, podendo dar a falsa impressão de lentidão no Application Server.

Tempo médio:

9.999.999 iterations 11 segundos. 

...