Histórico da Página
...
| Bloco de código | ||
|---|---|---|
| ||
RC4Crypt( < cBasecInput >, < cChavecKey >, [ lAsciilIsReturnASCII ], [ lIsInputASCII ] ) |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
cBasecInput | caractere | Indica a sequência de caracteres que serão criptografadascriptografados. | X |
|
cChavecKey | caractere | Indica a sequência de caracteres a serem utilizados como chave para o algoritmo de criptografia. | X |
|
lAsciilIsReturnASCII | 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 | 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 |
|---|---|---|
cStringArc4cRet | caractere | Retorna uma cadeia de caracteres criptografada. O formato depende do parâmetro lAscII. Caso .T., o resultado será em código ASCII hexadecimal sem nenhuma separação. Cada código corresponde a dois caracteres. Ex: EB1816B28FADA6D81A. |
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
// 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