Расшифровка двоичного кода 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, не зашифровывать сообщение с незашифрованным текстом.