Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasp402/802ea1bfb708b3df8c419c60060232c2 to your computer and use it in GitHub Desktop.
Save jasp402/802ea1bfb708b3df8c419c60060232c2 to your computer and use it in GitHub Desktop.
decryptCredentials(str)
function decryptCredentials(str) {
//1.- la cadena originalmente codificada
console.log('1.-',str);
//2.- uso de atob[] que es inverso de btoa[]
console.log('2.-',atob(str));
//3.- Se crea un Array con todos los valores
console.log('3.-',atob(str).split(''));
//4.- Se hace uso de map[] para procesar cada valor de array idividualmente
console.log('4.-',atob(str).split('').map(c=>c));
//5.- Se Completa cada valor del array con %00
console.log('5.-',atob(str).split('').map(c=>'%' + ('00' + c)));
//6.- Se converte a su equivalente en numero cada valor del array
console.log('6.-',atob(str).split('').map(c=>'%' + ('00' + c.charCodeAt(0))));
//7.- Se convierte a exadecimal cada valor previamente convertido en numero
console.log('7.-',atob(str).split('').map(c=>'%' + ('00' + c.charCodeAt(0).toString(16))));
//8.- Se extrae de toda cada valor del array los 2 utimos dijitos
console.log('8.-',atob(str).split('').map(c=>'%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)));
//9.- Se unen todos los valores del array
console.log('9.-',atob(str).split('').map(c=>'%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));
//10.- Se decodifica con decodeURLComponet
console.log('10.-',decodeURIComponent(atob(str).split('').map(c=>'%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join('')));
}
console.log(decryptCredentials('4pyTIMOgIGxhIG1vZGU='));
@jasp402
Copy link
Author

jasp402 commented Jul 13, 2018

`

"1.-" "4pyTIMOgIGxhIG1vZGU="
"2.-" "� à la mode"
"3.-" Array ["â", "�", "�", " ", "Ã", " ", " ", "l", "a", " ", "m", "o", "d", "e"]
"4.-" Array ["â", "�", "�", " ", "Ã", " ", " ", "l", "a", " ", "m", "o", "d", "e"]
"5.-" Array ["%00â", "%00�", "%00�", "%00 ", "%00Ã", "%00 ", "%00 ", "%00l", "%00a", "%00 ", "%00m", "%00o", "%00d", "%00e"]
"6.-" Array ["%00226", "%00156", "%00147", "%0032", "%00195", "%00160", "%0032", "%00108", "%0097", "%0032", "%00109", "%00111", "%00100", "%00101"]
"7.-" Array ["%00e2", "%009c", "%0093", "%0020", "%00c3", "%00a0", "%0020", "%006c", "%0061", "%0020", "%006d", "%006f", "%0064", "%0065"]
"8.-" Array ["%e2", "%9c", "%93", "%20", "%c3", "%a0", "%20", "%6c", "%61", "%20", "%6d", "%6f", "%64", "%65"]
"9.-" "%e2%9c%93%20%c3%a0%20%6c%61%20%6d%6f%64%65"
"10.-" "✓ à la mode"
`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment