Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Adicionado novo parâmetro e exemplo; revisão do texto dos parâmetros.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
RC4Crypt
RC4Crypt

Encripta e decripta uma determinada cadeia de caracteres usando o algoritmo RC4.

Sintaxe

Bloco de código

...

collapse

...

false

...

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

Retorno

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

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
User Function rc4crypt_exemplo()
  local cRet
  local cOriginal
  

Exemplo

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