Tunder 0 Denunciar post Postado Julho 22, 2008 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
Leandromx 0 Denunciar post Postado Julho 22, 2008 Tunder diz aê o que pretende fazer? o que seu sistema irá fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Julho 22, 2008 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
dani piresk 0 Denunciar post Postado Julho 22, 2008 Qual o erro? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 22, 2008 Sim, mais funciona ou dar erro ou o que ? Compartilhar este post Link para o post Compartilhar em outros sites
Tunder 0 Denunciar post Postado Julho 23, 2008 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
JCMPJ 0 Denunciar post Postado Julho 23, 2008 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
Tunder 0 Denunciar post Postado Julho 23, 2008 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