使用同一文件的校验和加密文件

时间:2014-03-30 11:55:12

标签: security encryption cryptography aes checksum

使用像AES-256-CBC这样的密码加密文件的安全性如何,并使用相同文件的校验和作为密钥?这是风险还是安全?

喜欢这个步骤:

  1. 生成文件的校验和
  2. 使用文件的校验和加密文件
  3. 将加密文件保存在服务器或磁盘上
  4. 使用RSA / ECC公钥加密校验和
  5. 在服务器或磁盘上保存加密的校验和
  6. 解密:

    1. 使用RSA / ECC私钥解密校验和
    2. 使用校验和解密文件
    3. 我的想法安全吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

将文件加密为校验和或多或少是容易的;您可以使用像cripto-js这样的库

npm install cripto-js

如果您使用打字稿

npm install @types/criptojs

在您已经安装了该库之后,必须将文件(图像)转换为MD5,然后将为MD5生成的STRING转换为base64。

您可以运行以下命令:

new Promise((resolve, reject) => {
  const reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = (event: any) => {
    let binari = event.target.result;
    let md5 = criptoJS.MD5(binari).toString();
    const encodedWord = criptoJS.enc.Utf8.parse(md5);
    const encoded = criptoJS.enc.Base64.stringify(encodedWord);
    resolve(reader.result);
  };
  reader.onerror = error => reject(error);
});

是的,我正在运行打字稿。

我希望这对您有用。 :)快乐编码