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

104
Visualizações
TweetNaCl.js Ejemplo de firmas de clave pública err

Quiero usar ed25519 para firmar mi mensaje. Y encontré TweetNaCl.js que tiene el método Signatures para lograr mi objetivo.

Al hacer referencia al ejemplo mínimo de firmas de clave pública de TweetNaCl.js y firmas de documentos oficiales, aquí está mi código de prueba codesandbox .

 const keyPair = nacl.sign.keyPair(); const secretKey = keyPair.secretKey; const publicKey = keyPair.publicKey; const secretKeyB64 = encodeBase64(secretKey); const publicKeyB64 = encodeBase64(publicKey); console.log("secretKeyB64", secretKeyB64); console.log("publicKeyB64", publicKeyB64); const msgStr = "My unencrypted message"; const msg = decodeUTF8(msgStr); const signature = nacl.sign(msg, secretKey); const signatureB64 = encodeBase64(signature); console.log("signatureB64", signatureB64); const verifiedMsg = nacl.sign.open(signature, publicKey); console.log(encodeUTF8(verifiedMsg));

El registro de la consola de encodeUTF8(verifiedMsg) parece no tener problemas y es igual que msgStr .

Pero me doy cuenta de que cuando coloco publicKeyB64 , signatureB64 y msgStr en la página de ejemplo de tweetnacl.js ( firmas de clave pública ) para verificarlo, responde el error Bad signature length: must be 64 bytes .

Si coloco secretKeyB64 en la página de firma de ejemplo y hago clic en "Firmar", la firma parece más corta que la que creé a partir del código de Codesandbox.

¿Hay algo que me perdí?

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

0

Descubrí este problema 20 minutos después... ¡¿Gracias por el StackOverflow?!

Registré la signature en la consola y descubrí que su longitud es superior a 64. Después de revisar las firmas , encontré otro método nacl.sign.detached(message, secretKey) y su longitud era 64.

Después de codificarBase64 y colocarlo en la página de ejemplo de tweetnacl.js (firmas de clave pública) para verificarlo, ¡funciona!

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