【发布时间】:2011-08-20 15:51:25
【问题描述】:
我正在使用 PyCrypto 将一些文件存储在 SQLITE 数据库中。
我正在使用 4 个字段:
文件名,
文件的长度(以字节为单位)
文件的 SHA512 哈希
加密文件(使用 AES,然后使用 base64 到 ASCII)。
我需要所有字段来显示有关文件的一些信息而不解密它。
问题是:这样存储数据是否安全?
例如,ZIP 文件或可执行文件的第一个字符始终相同,如果您已经知道文件的哈希值和长度......是否可以解密文件,也许是部分解密?
如果不安全,我如何存储有关文件的一些信息以索引文件而不解密它们? (长度、哈希、名称、标签等信息)
(我用python,但你可以用任何语言给出例子)
【问题讨论】:
-
注意为了节省空间和避免base64的开销(大约增加33%的大小),你应该使用blob将二进制数据存储在sqlite数据库中。
标签: python database security encryption