Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
AESDecrypt( < nCipherID >, < cCipherText >, < cKey >, [ cIV ] ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
nCipherID | numérico | Código identificador do modo do algoritmo AES a ser usado na decriptação. | X | |
cCipherText | caractere | Texto de entrada a ser decriptado. | X | |
cKey | caractere | Key da decriptação, conforme o modo do algoritmo AES a ser usado. | X | |
cIV | caractere | IV (Vetor de Inicialização) da decriptação, conforme o modo do algoritmo AES a ser usado. Obrigatório para o modo CBC. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
aResDec | vetor | Array com o resultado do processo de decriptação. |
Informações | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Exemplos
Exemplo 1: criptografia AES-128 CBC usando key gerada a partir do password fornecido e IV gerado randômico:
Bloco de código language cpp theme Eclipse linenumbers true collapse false User Function ExeAES1() Local nCipherID := 0 // AES-128 CBC Local cPlainText := "input plain text" Local cPassword := "password" //Local cKeyInput := "1234567890123456" // NÃO USAR: APENAS PARA EXEMPLO!!! //Local cIVInput := "6543210987654321" // NÃO USAR: APENAS PARA EXEMPLO!!! Local cKeyUsed := "" Local cIVUsed := "" Local cCipherText := "" Local aResEnc := {} Local aResDec := {} aResEnc := AESEncrypt( nCipherID, cPlainText, cPassword ) VarInfo( "AESEncrypt", aResEnc ) // AESEncrypt -> ARRAY ( 4) [...] // AESEncrypt[1] -> N ( 15) [ 0.0000] // AESEncrypt[2] -> C ( 32) [<texto_ascii_com_32_bytes>] // AESEncrypt[3] -> C ( 16) [<texto_ascii_com_16_bytes>] // AESEncrypt[4] -> C ( 16) [<texto_ascii_com_16_bytes>] cCipherText := aResEnc[2] cKeyUsed := aResEnc[3] cIVUsed := aResEnc[4] aResDec := AESDecrypt( nCipherID, cCipherText, cKeyUsed, cIVUsed ) VarInfo( "AESDecrypt", aResDec ) // AESDecrypt -> ARRAY ( 2) [...] // AESDecrypt[1] -> N ( 15) [ 0.0000] // AESDecrypt[2] -> C ( 16) [input plain text] Return
Exemplo 2: criptografia AES-128 CBC usando key fornecida e IV fornecido:
Bloco de código language cpp theme Eclipse linenumbers true collapse false User Function ExeAES2() Local nCipherID := 0 // AES-128 CBC Local cPlainText := "input plain text" //Local cPassword := "password" Local cKeyInput := "1234567890123456" // NÃO USAR: APENAS PARA EXEMPLO!!! Local cIVInput := "6543210987654321" // NÃO USAR: APENAS PARA EXEMPLO!!! Local cKeyUsed := "" Local cIVUsed := "" Local cCipherText := "" Local aResEnc := {} Local aResDec := {} aResEnc := AESEncrypt( nCipherID, cPlainText, , cKeyInput, cIVInput ) VarInfo( "AESEncrypt", aResEnc ) // AESEncrypt -> ARRAY ( 4) [...] // AESEncrypt[1] -> N ( 15) [ 0.0000] // AESEncrypt[2] -> C ( 32) [<texto_ascii_com_32_bytes>] // AESEncrypt[3] -> C ( 16) [1234567890123456] // AESEncrypt[4] -> C ( 16) [6543210987654321] cCipherText := aResEnc[2] cKeyUsed := aResEnc[3] cIVUsed := aResEnc[4] aResDec := AESDecrypt( nCipherID, cCipherText, cKeyUsed, cIVUsed ) VarInfo( "AESDecrypt", aResDec ) // AESDecrypt -> ARRAY ( 2) [...] // AESDecrypt[1] -> N ( 15) [ 0.0000] // AESDecrypt[2] -> C ( 16) [input plain text] Return
...