elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con este simple codigo !!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con este simple codigo !!  (Leído 3,598 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Ayuda con este simple codigo !!
« en: 6 Mayo 2013, 21:35 pm »

A la hora de convertir de C# a Php las funciones cambian y no me percate estoy verificando para cambiarlas.

Código
  1.  
  2. public function cryptography($InSeed, $InString)
  3.    {
  4.  
  5.         NewEncryptString = "";
  6.         EncryptSeed = InSeed;
  7.  
  8.         for (c1 = 1; c1 <= Strings.Len(InString); c1++) {
  9.     EncryptChar = Strings.Mid(InString, c1, 1);
  10.     EncryptChar = Strings.Chr(Strings.Asc(EncryptChar) ^ EncryptSeed);
  11.     EncryptSeed = EncryptSeed ^ c1;
  12.     NewEncryptString = NewEncryptString + EncryptChar;
  13.        }
  14. }
  15.  
  16.  
  17.  



Salu y Gracias


« Última modificación: 7 Mayo 2013, 02:18 am por TrashAmbishion » En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Ayuda con este simple codigo !!
« Respuesta #1 en: 6 Mayo 2013, 21:43 pm »

Deja ejemplos por las dudas que sirva para saber que esta mal. Por ejemplo escribe que devuelve la palabra "abc" en los 2 casos.


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Ayuda con este simple codigo !!
« Respuesta #2 en: 6 Mayo 2013, 22:05 pm »

Segun he leido Mid es substr() en php.
Asc es ord()..

No hace falta que declares las variables antes de usarlas.

Saludos
En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Re: Ayuda con este simple codigo !!
« Respuesta #3 en: 7 Mayo 2013, 00:19 am »

Alguien me puede ecir si este codigo esta bien, lo que hace es cifrar una cadena.

Código
  1.  
  2.    public function cryptography($InSeed, $InString)
  3.    {
  4.        $EncryptSeed = $InSeed;
  5.        $NewEncryptString = "";
  6.        for ($c1 = 1; $c1 <= strlen($InString); $c1++) {
  7.            $EncryptChar = substr($InString, $c1, 1);
  8.            $EncryptChar = Chr(Ord($EncryptChar) Xor $EncryptSeed);
  9.            $InSeed = $EncryptSeed Xor $c1;
  10.            $NewEncryptString = $NewEncryptString . $EncryptChar;
  11.        }
  12.        return $NewEncryptString;
  13.    }
  14.  
  15.  
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con este simple codigo !!
« Respuesta #4 en: 7 Mayo 2013, 00:53 am »

se supone que esto era una pregunta o un problema?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Ayuda con este simple codigo !!
« Respuesta #5 en: 7 Mayo 2013, 00:58 am »

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
En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Re: Ayuda con este simple codigo !!
« Respuesta #6 en: 7 Mayo 2013, 02:28 am »

La arregle y ya me funciona sin problemas pero tengo una duda, en Vb.Net cuando hago este For

Código
  1. For c1 = 1 To Len(InString)
  2.            EncryptChar = Mid(InString, c1, 1)
  3.            EncryptChar = Chr(Asc(EncryptChar) Xor EncryptSeed)
  4.            EncryptSeed = EncryptSeed Xor c1
  5.            NewEncryptString = NewEncryptString & EncryptChar
  6.        Next
  7.  

en la linea
Código
  1. 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


Código
  1.  
  2. public function cryptography($InSeed, $InString)
  3.    {
  4.        $EncryptSeed = $InSeed;
  5.        $NewEncryptString = "";
  6.        for ($c1 = 1; $c1 <= strlen($InString)-1; $c1++) {
  7.            $EncryptChar = substr($InString, $c1, 1);
  8.            $EncryptChar = chr(ord($EncryptChar) ^ $EncryptSeed);
  9.            $EncryptSeed = $EncryptSeed ^ $c1;
  10.            $NewEncryptString = $NewEncryptString . $EncryptChar;
  11.        }
  12.        return $NewEncryptString;
  13.    }
  14.  
  15.  

en esta linea me toma a partir del 2do caracter, como lo puedo solucionar.

Salu2
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Ayuda con este simple codigo !!
« Respuesta #7 en: 7 Mayo 2013, 02:42 am »

En php el primer carácter en el index es 0. ($c1=0).

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No funciona este simple codigo
Programación Visual Basic
luis456 6 5,406 Último mensaje 21 Septiembre 2013, 08:50 am
por luis456
Ayuda nuevamente con este simple codigo
Programación C/C++
spiderboot 9 4,008 Último mensaje 13 Mayo 2014, 15:39 pm
por spiderboot
no tiene sentido este simple código. « 1 2 »
Programación C/C++
AprendiendoAProgramar 15 7,897 Último mensaje 28 Enero 2017, 15:03 pm
por do-while
Por que no me funciona este simple codigo?
Programación C/C++
CelDavid 8 3,640 Último mensaje 10 Mayo 2019, 06:06 am
por RayR
buenas alguna ayuda de como empezar con este ejercicio ? con codigo simple
Programación General
codigosharp 1 3,564 Último mensaje 22 Junio 2022, 23:35 pm
por [JMS]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines