【发布时间】:2016-11-10 21:54:03
【问题描述】:
我不断生成一个字符串,我需要将其写入本地文件(加密)。
由于我的应用程序中已经有一个 AES 库,我更愿意使用 AES - 如果可能的话。
方法 1:AES 的块大小为 16 字节,因此我需要在内存中缓冲 16 字节的数据,如果计算机崩溃,我可能会丢失。
方法 2:先将所有数据写入文件,并定期使用 AES-CBC 对整个文件进行加密。这样,用户可以在短时间内访问未加密的文件。
还有其他方法吗?
【问题讨论】:
-
您预计会发生计算机崩溃吗?
-
不幸的是,是的。运行应用程序的计算机通常无法正常关闭,而只是关机
-
AES 可用作流密码。起点:security.stackexchange.com/questions/65085/…
-
“用户可以访问未加密的文件”。嗯,当然。加密可防止中间人攻击。这不是短期的属性,这是根本性的。
-
使用PKCS#7 padding,大多数实现都支持它,这一切都发生在函数中,即填充在加密时自动添加,在解密时删除。
标签: c++ encryption