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

221
Visualizações
Uncaught SodiumException: scalar and point must be SODIUM_CRYPTO_SCALARMULT_SCALARBYTES

I'm trying to implement ECC Algorithm (x25519) in PHP and Javascript.

I'm using sodium in PHP and crypto in javascript, I kind of new to cryptography and It's about my three days searching and trying out libraries. The sodium_crypto_scalarmult function is throwing this error.

Fatal error:  Uncaught SodiumException: scalar and point must be SODIUM_CRYPTO_SCALARMULT_SCALARBYTES byte

NodeJS/Javascript Code

const { generateKeyPairSync } = require('crypto');

const { publicKey, privateKey } = generateKeyPairSync('x25519', {
   publicKeyEncoding: {
      type: 'spki',
      format: 'der'
   },
   privateKeyEncoding: {
      type: 'pkcs8',
      format: 'der'
   }
});

console.log("Public Key is: ", publicKey)
console.log("The public key value in base64 is: ", publicKey.toString('base64') );

Because I'm just testing right now before implementing it, I just copy and pasted the base64 public key result from javascript to PHP.

PHP

$publicKeyfromJavascript = "";

$bob = sodium_crypto_box_keypair();
$bobPB = sodium_crypto_box_publickey($bob);
$bobsharedKey = sodium_crypto_scalarmult(sodium_crypto_box_secretkey($bob), $publicKeyfromJavascript);
about 4 years ago · Juan Pablo Isaza
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