Расшифровка двоичного кода javascript в текст с использованием openpgp

Проблема в том, что при декодировании изображения, например, я получаю испорченные двоичные данные, я пытался преобразовать их в base64, но это недопустимо для отображения, есть ли решение для дешифрования pgp зашифрованных изображений, действительных

Я использую эту библиотеку, скажите мне, она действительна для расшифровки двоичного файла? http://openpgpjs.org/

ENCRYPT:

var key = request.data.publicKey;
var publicKey = openpgp.key.readArmored(key);
var base64Message = request.data.message;//btoa(request.data.message); // encoding binary data directly
openpgp.encryptMessage(publicKey.keys, base64Message).then(function(pgpMessage) {
    console.log('encrypted');
    console.log(pgpMessage);
    sendResponse({result: pgpMessage});
}).catch(function(error) {
    console.log(error);
});

Расшифровка:

var key = openpgp.key.readArmored(request.data.privateKey); 
console.log(key);

if(key.keys.length > 0)
{
    key = key.keys[0];
    key.decrypt(request.data.password);
    var message = openpgp.message.readArmored(request.data.message); // error can't read pgp encoded binary data

    openpgp.decryptMessage(key,message).then(function(plaintext) {
        //do stuff...plaintext - is binary data in text
    });
}

Я кодирую двоичный файл напрямую, а затем пытаюсь декодировать, но получаю ошибку, которая:

Неизвестный тип брони ASCII

1 ответ

Base 64 используется для упаковки байтов в броню ASCII, чтобы вы могли переносить двоичные данные через текстовый интерфейс. То, что вам нужно транспортировать, - это зашифрованный текст, который, кажется, записан pgpMessage, Вы должны зашифровать кодировку зашифрованного текста с помощью 64, не зашифровывать сообщение с незашифрованным текстом.

Другие вопросы по тегам