Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/04/2020, 10:22
julslash
 
Fecha de Ingreso: febrero-2010
Ubicación: valencia
Mensajes: 146
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: problema para mostrar ascii

muchisimas gracias me ayudo muchisimo todas tus recomendaciones y codigos.


este es el resultado de las modificaciones en el codigo php
Código PHP:
$datos "PROFIT1001   ";


function 
rand_string($data) {
  
$key_encript=" ";
  
    
$length strlen($data);
    
    for( 
$i 0$i $length$i++ ) {
        
        
$key_encript $key_encript.fun(substr($data$i1));
    }
    
   Return (
Substr($key_encript1strlen($key_encript)-1));

}


Function 
fun ($car){

 Return (
chr((((ord($car)+17)*11)%255)));

partiendo de que la clave guardada en el sql server es

//E$Àá[ØÍÍØ

cuando ejecuto el codigo php me imprime este resultado

/E$��[����

luego le quite la funcion chr para ver que valores me muestra y dio como resultado esto

47 69 36 192 225 91 216 205 205 216 29 29 29
47 = /
69 = E
36 = $
192 = └
225 = ß
91 = [
216 = Ï
205 = ═
29 = 
29 = 
29 = 

por lo que me coinciden con lo guardado en la base de datos siempre y cuando sea menor a 128

estuve investigando y corri un codigo para ver los caracteres ascii y no logro verlos cuando el numero es mayor a 128 desde ese en adelante los veo de la siguiente forma � (solo para tener una referencia de que valores serian los correctos)
Ø = 155
À = 183
á = 160
Í = 214

eso tiene que ver con el numero de bytes?

Última edición por julslash; 08/04/2020 a las 10:56