Duda sobre codificación de una variable

Tu_Dios

Tengo una variable en javascript que guarda una url. Esa url se la tengo que enviar a backend para hacer una serie de operaciones y, como la url puede contener caracteres especiales, la convierto a hexadecimal para evitar problemas. El codigo de backend no es mio, ni siquiera lo puedo ver.

La codificacion me ha funcionado correctamente cuando se trataban de IPs, por ejemplo si envio la IP '192.168.1.1' me lo codifica a '3139322e3136382e312e31' y backend lo entiende perfectamente

El problema viene cuando se trata de un dominio, en ese caso lo que espera el servidor y lo que yo envio no coincide. Si quiero enviar 'cstmal', yo genero '6373746d616c' y sin embargo el servidor espera '7066677A6e79'.

Algo se me esta escapando, pero no doy con ello... :wtf: :wtf:

El codigo que yo uso para convertirlo es el siguiente:

function encode(str) {
    var result = "";
    for (var i = 0; i < str.length; i++) {
        result += str.charCodeAt(i).toString(16);
    }
    return result;
}

En pocas palabras, ¿sabeis que conversion da estos resultados?:

c = 70
s = 66
t = 67
m = 7A
a = 6E
l = 79

¡Muchas gracias!

LOc0

Hola. Mmmm, no sé de qué va la peli pero parece que cada letra tuviera asignada un offset negativo/positivo. Ejemplo:

c = 70 (+7)
s = 66 (-7)
t = 67 (-7)
m = 7A (+13)
a = 6E (+13)
l = 79 (+13)

Genérate varios dominios de palo con todas las letras en distinto orden para ver si el offset se lo mete por letra o influye tb la posición:

"abcde...",
"bcade..."
ETC...

Por ir probando algo...

Salu2 ;)

Tu_Dios

Muchas gracias por la respuesta LOc0.

Al final era un sin dios eso sin ningun tipo de logica, asi que lo que he hecho ha sido hacer un hashmap con su mierda de conversion y mandarles un mail acordandome de toda su familia.

Ahora que me cambien el codigo de alguna letra y me presento en su casa con un bate.

Usuarios habituales

  • Tu_Dios
  • LOc0