A la hora de convertir de C# a Php las funciones cambian y no me percate estoy verificando para cambiarlas.
public function cryptography($InSeed, $InString)
{
NewEncryptString = "";
EncryptSeed = InSeed;
for (c1 = 1; c1 <= Strings.Len(InString); c1++) {
EncryptChar = Strings.Mid(InString, c1, 1);
EncryptChar = Strings.Chr(Strings.Asc(EncryptChar) ^ EncryptSeed);
EncryptSeed = EncryptSeed ^ c1;
NewEncryptString = NewEncryptString + EncryptChar;
}
}
Salu y Gracias
Deja ejemplos por las dudas que sirva para saber que esta mal. Por ejemplo escribe que devuelve la palabra "abc" en los 2 casos.
Segun he leido Mid es substr() en php.
Asc es ord()..
No hace falta que declares las variables antes de usarlas.
Saludos
Alguien me puede ecir si este codigo esta bien, lo que hace es cifrar una cadena.
public function cryptography($InSeed, $InString)
{
$EncryptSeed = $InSeed;
$NewEncryptString = "";
for ($c1 = 1; $c1 <= strlen($InString); $c1++) {
$EncryptChar = substr($InString, $c1, 1);
$EncryptChar = Chr(Ord($EncryptChar) Xor $EncryptSeed);
$InSeed = $EncryptSeed Xor $c1;
$NewEncryptString = $NewEncryptString . $EncryptChar;
}
return $NewEncryptString;
}
se supone que esto era una pregunta o un problema?
Estaba intentando convertir un codigo de C# a PHP pero se dio cuenta de que los nombres de las funciones y las variables cambian xD.
@TrashAmbishion que tiene que devolver en ambos casos ? Ami me devuele un string vacio a la hora de cifrarlo y a la hora de descifrarlo no devuelve el string ¬¬
Saludos
La arregle y ya me funciona sin problemas pero tengo una duda, en Vb.Net cuando hago este For
For c1 = 1 To Len(InString)
EncryptChar = Mid(InString, c1, 1)
EncryptChar = Chr(Asc(EncryptChar) Xor EncryptSeed)
EncryptSeed = EncryptSeed Xor c1
NewEncryptString = NewEncryptString & EncryptChar
Next
en la linea EncryptChar = Mid(InString, c1, 1)
si la cadena que le paso por ejemplo: "prueba" el toma el primer caracter, pero en php con este codigo
public function cryptography($InSeed, $InString)
{
$EncryptSeed = $InSeed;
$NewEncryptString = "";
for ($c1 = 1; $c1 <= strlen($InString)-1; $c1++) {
$EncryptChar = substr($InString, $c1, 1);
$EncryptChar = chr(ord($EncryptChar) ^ $EncryptSeed);
$EncryptSeed = $EncryptSeed ^ $c1;
$NewEncryptString = $NewEncryptString . $EncryptChar;
}
return $NewEncryptString;
}
en esta linea me toma a partir del 2do caracter, como lo puedo solucionar.
Salu2
En php el primer carácter en el index es 0. ($c1=0).
Saludos