Расшифруйте зашифрованный PDF-файл, содержащий текстовое и графическое содержимое, используя JavaScript-код шифрования CryptoJS AES. - PullRequest
0 голосов
/ 11 июня 2019

Попытка зашифровать PDF-файл, содержащий текстовое и графическое содержимое, с использованием алгоритма шифрования AES.после дешифрования дешифрованный контент не такой, как содержимое изображения в pdf, но текстовая часть такая же, как и ожидалось.

Это требование проекта сначала зашифровать файл pdf, содержащий текст и изображение, и отправить на сервер (ДЖАВА).При получении получите зашифрованный файл и расшифруйте его.

При расшифровке, ожидающей того же содержимого файла, что и до шифрования.

encryptFile(file): Promise<string> {
return new Promise((resolve, reject) => {
const reader = new FileReader();

const key = CryptoJS.enc.Base64.parse('u/Gu5posvwDsXUnV5Zaq4g==');
const iv = CryptoJS.enc.Base64.parse('5D9r9ZVzEYYgha93/aUK2w==');

reader.onloadend = function (e) {
    const utf8Stringified = CryptoJS.enc.Utf8.parse(reader.result)
    const encrypted = CryptoJS.AES.encrypt(utf8Stringified, key, { iv: 
    iv,
    padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC })
    resolve(CryptoJS.enc.Base64.stringify(encrypted.ciphertext))
};
reader.readAsText(file);
})
}

decryptFile(file): Promise<string> {
return new Promise((resolve, reject) => {
    const reader = new FileReader()

    const key = CryptoJS.enc.Base64.parse('u/Gu5posvwDsXUnV5Zaq4g==');
    const iv = CryptoJS.enc.Base64.parse('5D9r9ZVzEYYgha93/aUK2w==');

    reader.onloadend = function (e) {
    const decrypted = CryptoJS.AES.decrypt(reader.result, key, { iv: iv, 
    padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC })
    resolve(decrypted.toString(CryptoJS.enc.Utf8))
};
reader.readAsText(file);
})
}
...