我制作了一个加密和存储JAVA文件的应用程序 我有很多使用AES加密的文件 我有四个访问级别&四个KEY,我想用其访问级别特定的KEY加密每个文件;我需要更改KEY以使用户能够更改文件的访问级别 是否可以仅通过提供先前的密钥而不解密文件然后重新加密来更改此密钥?
答案 0 :(得分:4)
不,这是不可能的。您必须重新加密文件。
答案 1 :(得分:4)
好吧,也许你可以拥有加密文件的常量密钥,这些密钥会再次加密,你可以更改密钥吗?这种方式只需要再次解密和加密就是你的关键:)
这对每个案例都不好,但有些地方可以解决这个问题。
答案 2 :(得分:2)
执行此操作的一种方法是不使用该“级别”的主密钥直接加密每个文件 - 而是为每个文件生成不同的随机“文件密钥”并使用以下文件加密文件那。然后使用级别密钥加密文件密钥,并将结果与文件一起存储。
当您想要更改文件的级别时,您只需要解密并重新加密文件密钥,而不是整个文件本身。