Ir para conteúdo

POWERED BY:

Arquivado

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

Tunder

[Resolvido] Conversão para PHP

Recommended Posts

Estou tentando converter essa função em delphi para php, já fazem mais de 5 horas e nada.

alguém saberia fazer isso?

 

function Cript(mStr, mChave: String): String;
var
  i, TamanhoString, pos, PosLetra, TamanhoChave: Integer;
begin
  Result := mStr;
  TamanhoString := Length(mStr);
  TamanhoChave := Length(mChave);
  for i := 1 to TamanhoString do
	begin
	  pos := (i mod TamanhoChave);
	  if pos = 0 then
		pos := TamanhoChave;
	  posLetra := ord(Result[i]) xor ord(mChave[pos]);
	  if posLetra = 0 then
		posLetra := ord(Result[i]);
	  Result[i] := chr(posLetra);
	end;
end;

 

achei isso na internet, foi o mais próxino que cheguei.

 

function Cript($mStr, $mChave){
  $Result = $mStr;
  $TamanhoString = strlen($mStr);
  $TamanhoChave = strlen($mChave);
  for ($i = 1; $i < $TamanhoString; $i++) {
	  $pos = fmod($i,$TamanhoChave);
	  if ($pos == 0) {
		$pos = $TamanhoChave;
	  }
	  $posLetra = ord($Result[$i]) xor ord($mChave[$pos]);
	  if ($posLetra == 0){
		$posLetra = ord($Result[$i]);
	  }
	  $Result[$i] = chr($posLetra);
  }
  return $Result;
}

 

Sei que é feio ficar pedindo esse tipo de coisa, más estou desesperado!

Obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tunder diz aê o que pretende fazer? o que seu sistema irá fazer?

Oi Leandromx,

 

é o seguinte, já temos em delphi um sistema com esse tipo de criptografia... só que agora teremos que acessar o banco dedados com um sistema em php que verifique essa senha criptografada.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mais funciona ou dar erro ou o que ?

Oi, dani piresk e Alaerte muito obrigado pela atenção...

 

o erro é o seguinte:

 

no delphi se eu entrar com os valores na função :

mStr := 'teste';

mChave := '123';

 

Cript(mStr,mChave); o resultado é esse: EW@EW

 

já no php, se eu fizer o mesmo procedimento vai retornar o valor da variavel mStr;

 

eu queria saber, no que estou errando? pois já fiz de tudo!

 

 

o meu problema maior é que tem que ser essa função, pois todos os sistemas já funcionam com esse tipo de senha. senão eu usaria md5()

 

Obrigado mais uma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se é isso:

 

function Cript($mStr, $mChave){
  $Result = $mStr;
  $TamanhoString = strlen($mStr);
  $TamanhoChave  = strlen($mChave);
  $resultado = "";
  for ($i = 0; $i < $TamanhoString; $i++) {
	  $pos = $i % $TamanhoChave;
	  if ($pos == 0) {
		$pos = $TamanhoChave;
	  }
	  if($pos > ($TamanhoChave - 1)) $pos = 0;
	  $posLetra = ord($Result[$i]) ^ ord($mChave[$pos]);
	  if ($posLetra === 0){
		$posLetra = ord($Result[$i]);
	  }
	  $resultado .= chr($posLetra);
  }
  return $resultado;
}

Editado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ve se é isso:

 

function Cript($mStr, $mChave){
  $Result = $mStr;
  $TamanhoString = strlen($mStr);
  $TamanhoChave  = strlen($mChave);
  $resultado = "";
  for ($i = 0; $i < $TamanhoString; $i++) {
	  $pos = $i % $TamanhoChave;
	  if ($pos == 0) {
		$pos = $TamanhoChave;
	  }
	  if($pos > ($TamanhoChave - 1)) $pos = 0;
	  $posLetra = ord($Result[$i]) ^ ord($mChave[$pos]);
	  if ($posLetra === 0){
		$posLetra = ord($Result[$i]);
	  }
	  $resultado .= chr($posLetra);
  }
  return $resultado;
}

Editado

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Nossa JCMPJ você é o POWER do php, deu certim, eu nunca iria conseguir fazer isso! nossa kra muito obrigado mesmo eu já estava desesperado por esse código, continue sempre assim ... muito obrigado mesmo.

Não se preoucupe, vou colocar os créditos todos para você nesse código valew

Abraço a todos que me ajudaram.

fiquem com Deus.

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.