como escrever este codifo em delphi
20/01/2006
0
FUNCTION UNCRIPT(cKey)
LOCAL nCont, cPsw := ´´, nLenPsw := ASC(cKey)-40
FOR nCont = 1 TO nLenPsw
cPsw += CHR( ASC( SUBS( cKey, nCont+2, 1 ) ) - nLenPsw * nCont )
NEXT nCont
RETURN cPsw
preciso mas desta
obrigado
Pereiramarcos
Posts
20/01/2006
Caninha51
20/01/2006
Pereiramarcos
eu voucolocar este codigo em uma unit Ufuncoes.
20/01/2006
Pereiramarcos
este codigo
function UNCRIPT(cKey:string):string ;
var
nCont :integer ;
cPsw :string ;
nLenPsw:Int64;
BEGIN
nLenPsw := ord(cKey)-40 ;
FOR nCont:=1 TO nLenPsw do
cPsw := cPsw + CHR(ord(copy(cKey,[nCont]+2,1))-(nLenPsw*[nCont])) ;
END;
:cry:
20/01/2006
Xandyr
Cara tem um erro aqui ´ord(cKey)´
eu não entendi o q tu ta querendo fazer, mas o cKey é uma string e não um caracter pra ti converter assim... se vc quiser pegar o tamanho da string o correto seria:
nLenPsw := length(cKey)-40 ;
20/01/2006
Martins
Vc está migrando uma função de criptografia de Clipper para Delphi, e o q não está dando certo, quais os erros apresentados pela sua função?
21/01/2006
Pereiramarcos
estou tentando migrar meu sistema em DBF, que esta feito em clipper para Delphi com TADS que aceita indices NTX. nao esta facil não....
quanto a esta pequena funcao ja estou a dois dias, como esta agora :
function TFrmSenha.uncript(cKey: string): string;
var
nCont :integer ;
cPsw :string ;
nLenPsw:integer;
letra :char;
BEGIN
letra:=copy(cKey,1,1); nLenPsw := ord(letra) - 40 ;
FOR nCont:=1 TO nLenPsw do
cPsw := cPsw + CHR(ord(copy(cKey,nCont+2,1))- nLenPsw*nCont) ;
end;
1 linha apos o begin esta dando incompatibles type char and string, pq ?
eu quero pegar o decimal do primeiro caracter e diminuir de 40 é so isso
:cry:
23/01/2006
Edilcimar
temp := ´´
For I := 1 to Length(palavraaserdecodificada) do
Temp := Temp + Chr(Ord(palavraaserdecodificada[I]) - 40);
23/01/2006
Emerson Nascimento
function TFrmSenha.Uncript(cKey: string): string; var nCont, nLenPsw: integer; cPsw: string; letra: char; begin letra := copy(cKey,1,1)[1]; nLenPsw := ord(letra) - 40; for nCont := 1 to nLenPsw do cPsw := cPsw + chr(ord(copy(cKey,nCont+2,1)[1]) - nLenPsw * nCont); Result := cPsw; end;
23/01/2006
Aroldo Zanela
Passa uma palavra criptografada para a gente testar o algoritmo:
function UnCript(cKey: String): String; var nLenPsw , nCont: SmallInt; begin nLenPsw := Ord(cKey[1])-40; for nCont := 1 to nLenPsw do Result := Result + Chr( Ord( cKey[nCont+2] ) - nLenPsw * nCont ) end;
23/01/2006
Pereiramarcos
testei o algoritmo do Aroldo
Obrigadooooooooo
:P
Clique aqui para fazer login e interagir na Comunidade :)