Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/6062824/tecnologia.css
|
Pagetitle | ||||
---|---|---|---|---|
|
Encripta e decripta uma determinada cadeia de caracteres usando o algoritmo RC4.
Sintaxe
Bloco de código |
---|
...
|
...
|
...
RC4Crypt( < |
...
cInput >, |
...
< cKey >, [ lIsReturnASCII ], [ lIsInputASCII ] )
|
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
...
cInput |
...
caractere | Indica a sequência de caracteres que serão |
...
criptografados. | X |
|
...
cKey |
...
caractere | Indica a sequência de caracteres a serem utilizados como chave para o algoritmo de criptografia. | X |
|
...
lIsReturnASCII |
...
lógico | Formato do retorno. Se .T., indica que o retorno será em código ASCII hexadecimal, onde cada código corresponde a dois caracteres, sem "0x" inicial; caso contrário, se .F., o retorno será em texto plano. Por padrão é assumido .T.. |
|
|
...
lIsInputASCII |
cStringArc4 (caracter)
...
lógico | Formato da entrada. Se .T., |
...
indica que a entrada está em código ASCII hexadecimal |
...
, onde cada código corresponde a dois caracteres |
...
, sem "0x" inicial; caso contrário, se .F., a entrada está em texto plano. Por padrão é assumido .F.. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
cRet | caractere | Retorna uma cadeia de caracteres criptografada. |
Observações
- Página com a tabela ASCII: http://www.ascii-code.com/
- Página online para criptografar RC4: http://www.fyneworks.com/encryption/rc4-encryption/
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
User Function rc4crypt_exemplo()
local cRet
local cOriginal
|
user function rc4crypt_exemplo
local cRet
local cOriginal
// resultado ASCII em hex: "55AB394524" |
...
cRet = rc4crypt( "abcde" ,"123456789", .T.) |
...
conout("Criptografado em ascii = " + cRet) |
...
cRet = rc4crypt( "abcde" ,"123456789", .F.) |
...
conout("Criptografado em string = " + cRet) |
...
// processo inverso |
...
cOriginal = rc4crypt(cRet, "123456789", .F.) |
...
conout("String original = " + cOriginal) |
...
// converte de ASCII em hex para string |
...
cRet = chr(CTON('55', 16)) |
...
cRet += chr(CTON('AB', 16)) |
...
cRet += chr(CTON('39', 16)) |
...
cRet += chr(CTON('45', 16)) |
...
cRet += chr(CTON('24', 16)) |
...
conout ("resultado em hex convertido = " +cRet) cOriginal = rc4crypt(cRet, "123456789", .F.) conout("String original = " + cOriginal) Return User Function input_ascii_test() local cRet local cOriginal // resultado ASCII em hex: "55AB394524" cRet |
...
= rc4crypt( "abcde" ,"123456789", .T.) conout("Criptografado em ascii = " + cRet) cOriginal = rc4crypt(cRet, "123456789", .F., .T.) |
...
conout("String original = " + cOriginal) Return |
...
Veja também
...
...
Builds do Protheus superiores a 7.00.120420A