gpt4 book ai didi

javascript - 如何确定PDF是否是加密的javascript客户端

转载 作者:行者123 更新时间:2023-12-05 00:25:30 25 4
gpt4 key购买 nike

需要确定用户上传的 pdf 是否在不使用外部库的情况下受密码保护。
到目前为止得到了这个 POC。

有人知道这可能不起作用的情况吗?

<input type='file' onchange='openFile(event)'><br>
<script>
var openFile = function (event) {

var input = event.target;

var reader = new FileReader();
reader.onload = function (event) {
console.clear();
var contents = event.target.result;
if (contents.indexOf('/Encrypt') !== -1) {
console.log("Is encrypted");
} else {
console.log("Not encrypted");
}
console.log("File contents: " + contents);
};

reader.onerror = function (event) {
console.error("File could not be read! Code " +event.target.error.code);
};

reader.readAsText(input.files[0]);

};
</script>

最佳答案

您可以使用以下代码来查找 PDF 是否已加密

const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function () {

var files = new Blob([reader.result], {type: 'application/pdf'});
files.text().then(x=> {
console.log("isEncrypted", x.includes("Encrypt"))
console.log("isEncrypted", x.substring(x.lastIndexOf("<<"), x.lastIndexOf(">>")).includes("/Encrypt"));
console.log(file.name);
});

关于javascript - 如何确定PDF是否是加密的javascript客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52081345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com