Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

334
Visualizações
Crear carga útil JWT comprimida en JavaScript

Tengo una función que analiza una carga útil JWT comprimida en JSON. Tiene sentido para mí la forma en que funciona la función. Quiero crear una función que pueda hacer exactamente lo contrario: tomar un objeto JSON y convertirlo en una carga JWT COMPRIMIDA .

La función que analiza y descomprime:

 function parseJwtPayload(payload) { const buffer = Buffer.from(payload, "base64"); const payloadJson = zlib.inflateRawSync(buffer); return JSON.parse(payloadJson); }

... genera el JSON.

... ingresa el JSON. Mi intento de una función que crea una carga útil y la comprime:

 function makeJwtPayload(json) { // Where json is a String from JSON.stringify(). const buffer = Buffer.from(json, 'utf8'); var payload = zlib.deflateRawSync(buffer).toString('base64'); payload = payload.replace(/=+$/, ''); payload = payload.replace(/\+/g, '-'); payload = payload.replace(/\//g, '_'); return payload; }

Ahora esta función FUNCIONA, porque la cadena codificada y comprimida se puede usar en la función original y descodificarse y seguirá generando el mismo objeto JSON. Pero cuando se vuelve a codificar, la cadena Base64 se ve diferente. Es más largo que el original y solo algunos personajes se mantienen consistentes.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si puede descomprimir y obtener exactamente la carga útil original, entonces no tiene ningún problema . Nunca hay una garantía de que descomprimir-comprimir le dará lo mismo. La única garantía es que compress-decompress te dará lo mismo.

Hay muchas formas de comprimir los mismos datos, y el mismo código de compresión con diferentes configuraciones, diferentes versiones del código de compresión con las mismas configuraciones, o simplemente un código de compresión diferente, todos pueden dar una salida comprimida diferente para los mismos datos. No se sabe qué versión de qué código de compresión con qué configuración hizo lo que recibió, y es poco probable que pueda reconstruirlo exactamente. Y no hay razón ni necesidad de hacerlo.

Si desea intentar comprimirlo un poco más, configure la opción de level de deflateRawSync en 9 .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda