Foros del Web » Programando para Internet » PHP »

Desencriptar/Encriptar con PHP

Estas en el tema de Desencriptar/Encriptar con PHP en el foro de PHP en Foros del Web. Hola, tengo una pregunta, es posible desencriptar un binario en php? encontre una funcion que me encripta una cadena a binario, pero no encuentro una ...
  #1 (permalink)  
Antiguo 02/01/2013, 10:57
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Desencriptar/Encriptar con PHP

Hola, tengo una pregunta, es posible desencriptar un binario en php? encontre una funcion que me encripta una cadena a binario, pero no encuentro una que le haga la reversa! como lo puedo hacer? gracias a quienes puedan ayudarme

Código PHP:
function str2bin($str){
    
//dividir la cadena y pasarla a un array
    
$str_arr str_split($str4);
    
$bin=0;
    for(
$i 0$i<count($str_arr); $i++)
        
//convertir, corregir ceros y concatenar cada subcadena
        
$bin $bin.str_pad(decbin(hexdec(bin2hex($str_arr[$i]))), strlen($str_arr[$i])*8"0"STR_PAD_LEFT);
    
    
//retornar el resultado
    
return $bin;

  #2 (permalink)  
Antiguo 02/01/2013, 11:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Desencriptar/Encriptar con PHP

Para empezar no tienes buenos fundamentos, binario no es ningún método de "encriptado" es sólo codificación.

¿Ya buscaste en el manual?

Lo que estás buscando posiblemente se trate de sistemas de codificación como Base64, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/01/2013, 11:08
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Desencriptar/Encriptar con PHP

Es primera vez que empiezo a ver "Binarios" y bueno cada dia se aprende algo nuevo! pero no, en realidad lo que necesito es codificar una cadena de texto a binario y luego decodificarla! no encriptarla
  #4 (permalink)  
Antiguo 02/01/2013, 11:21
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Desencriptar/Encriptar con PHP

Mira este ejemplo que hace lo que quieres:

Código PHP:
Ver original
  1. <?php
  2. $value = unpack('H*', "Stack");
  3. echo base_convert($value[1], 16, 2);
  4.  
  5. echo pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));

y el mismo ejemplo con tu función:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function str2bin($str){
  4.     //dividir la cadena y pasarla a un array
  5.     $str_arr = str_split($str, 4);
  6.     $bin=0;
  7.     for($i = 0; $i<count($str_arr); $i++)
  8.         //convertir, corregir ceros y concatenar cada subcadena
  9.     $bin = $bin.str_pad(decbin(hexdec(bin2hex($str_arr[$i]))), strlen($str_arr[$i])*8, "0", STR_PAD_LEFT);
  10.      
  11.     //retornar el resultado
  12.     return $bin;
  13. }
  14.  
  15. $binario = str2bin('Hola'); //001001000011011110110110001100001
  16. $str = pack('H*', base_convert($binario, 2, 16)); //Hola
  17.  
  18. echo $str;

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 02/01/2013, 16:50
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Desencriptar/Encriptar con PHP

Gracias compañero AndresdzPHP queda bien pero...cuando coloco unas palabras mas largas no las agarra por ejemplo si pruebo 1234567..lo encripta y desencripta bien! pero..si coloco 123456789 solamente al momento de desencriptar me muestra hasta el 8 o sea 12345678 y no me muestra el 9 y ningun otro caracter luego del 9 :S

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.