Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raphael_novamedia

Erro função simples

Recommended Posts

ola pessoal queria escriptografar usando esse metodo

 

Função original em pascal

function Numero(Caracter : Char) : Smallint;
var
  S : string;
begin
  S := IntToStr(Ord(Caracter))+'000';
  Result := StrToInt(S[1])+StrToInt(S[2])+StrToInt(S[3]);
end;

 

 

function EncriptaString(Palavra, Key : string) : string;
var
  I : integer;
begin
  While Length(Key) < Length(Palavra) do
	Key := Key + Key;
  Key := Copy(Key,1,Length(Palavra));
  Result := Palavra;
  for I := 1 to Length(Palavra) do
	Result[I] := Chr(Ord(Palavra[I]) - Numero(Key[I]));
end;

 

VErsao em asp

 

<%
function Numero(Caracte)
dim  S 
  S = IntToStr(Ord(Caracter))+000
  Result = StrToInt(S(1))+StrToInt(S(2))+StrToInt(S(3))
end function

function Encripta(palavra,key)
dim i
do while len(key) < len(palavra)
key = key + key
key = instr(key,len(palavra))
result = palavra
for i=1 to len(palavra)
result[i] = chr(ord(palavra(i))) - numero(key(i))
next
loop
end function


t = "abc"
a = "123"

call Encripta(t,a)
response.write result
response.End()
%>

 

 

so que naum funciona, alguem poderia me ajudar.

abraços e obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca entrará nesse seu do while, uma vez que você compara se uma variável é menor que a outra e passa as duas com o mesmo tamanho.

 

Com certeza quando entrar nele dará erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira solução é você informar valores que entrem no Do While, assim você verá os erros e poderá corrigi-los.

 

Qualquer coisa posta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.