Im новичок, опробовавший обертки NaCl. Я использую Kalium на моем сервере и libsodium.js на моем конце клиента на каждом конце работы, но когда я пытаюсь использовать аутентифицированное шифрование для связи между двумя концами, шифрованный текст не выполняет проверку. Шифрование на клиенте выполняется:Использование Kalium на сервере и libsodium.js на клиенте
var nonce=sodium.crypto_generichash(sodium.crypto_box_NONCEBYTES, dataObj.extensionId);
var message="test";
var encryptedString = sodium.crypto_box_easy(message, nonce, serverPublicKeyBytes, clientPrivateKey);
нонса, serverPublicKeyBytes и clientPrivateKey передаются в виде Base64 строк на сервер.
На сервере данные расшифровываются с помощью:
public byte[] decrypt(byte[] publicKey, byte[] privateKey, byte[] nonce,
byte[] message) throws Exception {
Box box = new Box(publicKey, privateKey);
byte[] output= box.decrypt(nonce, message);
return output;
}
На сервере обертка использует Java байт [], а на сервере Javascript использует UInt8Array [], может кто-то помочь мне в предоставлении Client- сервер.
Заранее спасибо