1
的問題是,當例如對圖像進行解碼,我得到一個損壞的二進制數據,我試圖將其轉換爲Base64文本,但它是無效的顯示,有沒有一個解決方案解密PGP加密的有效圖像解密JavaScript的二進制使用的OpenPGP
我使用這個庫,告訴我,這是有效的解密二進制? 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 a rmor type
@ ArtjomB.using該庫有加密的例子/解密http://openpgpjs.org/ – user3112115
您需要添加你親自來,你現在不能解密的加密圖像的代碼。如果您在瀏覽器中運行這一點,並要顯示的圖像爲base64,你應該將其轉換爲你加密前的Base64。然後,當它解密時,它將準備好使用。 –
@DanPrince嗨,你看我已經添加了我如何直接編碼的二進制,然後試圖解碼的例子,但我得到一個錯誤:未知的ASCII裝甲型 – user3112115