我正在开发一个业务平台,允许不同角色的用户根据他们的角色互相交流。该应用程序是使用基于Spring + WebSecurityConfig的RBAC构建的。
我需要允许用户在将文档上传到系统时控制谁能够打开这些文档,即使他们是由有访问权限的人下载的,只有具有特定凭据的人才能打开这些文档。知道文档在物理上保存在文件系统中。
我是否可以使用脚本来加密带有密码的文档,我可以将其保存在我的数据库中并仅显示给特权用户?或者有更好的方法。
答案 0 :(得分:1)
解决方案是创建一个服务以从DB获取共享密钥,并且只允许特权用户调用此服务。加密存储密码的DB字段是个好主意。
通过它,您可以使用任何对称密钥算法加密和解密文件。例如,以下是使用AES的示例,该示例仅需要javax.crypto API:https://www.mkyong.com/java/java-symmetric-key-cryptography-example/