Stack Overflow en español Asked by Francisco Manuel Gonzalez Triv on January 14, 2021
Buenas, llevo varios días intentando pasar una cadena en base64 a algo atendible, os explico que he probado para ver que solución puedo darle.
Primero de todo uso PHP, la cadena esta codifica en C# con Convert.Tobase64String()
"AAECAQcGqga5sgKsuwLTwwKZxwKixwIMS5EDogSRBv8HsgiCrQLSrgL+vAKhwgK8wwLKwwIA"
base64_decode()
"�����������K�������Ү��������"
Pensado es so caracteres ASCII realizo el siguiente procedimiento
$a = base64_decode($base64);
$b = array();
foreach(str_split($a) as $c)
$b[] = bindec(sprintf("%08b", ord($c)));
Sale un array con unos números pero que deberían de corresponder con una id de una lista. Cosa que no lo hacen.
El código en C# no puedo postularlo por motivos de confidencialidad, pero lo que sí puedo decir es que el contenido es un array de Byte.
tuve este problema en PHP por alguna razon no borraba esos caracteres , modifique la funcion a la siguiente: suponiendo que tu resultado es el este :
$var = "�����������K�������Ү��������";
y tenemos esta funcion:
function desencriptar($valor_encriptado) {
$utf8 = array(
'/[áàâãªä]/u' => 'a',
'/[ÁÀÂÃÄ]/u' => 'A',
'/[ÍÌÎÏ]/u' => 'I',
'/[íìîï]/u' => 'i',
'/[éèêë]/u' => 'e',
'/[ÉÈÊË]/u' => 'E',
'/[óòôõºö]/u' => 'o',
'/[ÓÒÔÕÖ]/u' => 'O',
'/[úùûü]/u' => 'u',
'/[ÚÙÛÜ]/u' => 'U',
'/ç/' => 'c',
'/Ç/' => 'C',
'/ñ/' => 'n',
'/Ñ/' => 'N',
'/–/' => '-', // UTF-8 hyphen to "normal" hyphen
'/[’‘‹›‚]/u' => ' ', // Literally a single quote
'/[“”«»„]/u' => ' ', // Double quote
'/ /' => ' ', // nonbreaking space (equiv. to 0x160)
'/[^a-zA-Z0-9-+#=/?'s]/' => ''
);
return preg_replace(array_keys($utf8), array_values($utf8), $valor_encriptado );
}
limpiamos la variable
var_dump(desencriptar($var));
Answered by JackNavaRow on January 14, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP