如何使用Windows DPAPI和系统上下文而不是用户上下文在Java中加密字符串?

时间:2019-03-17 20:21:13

标签: java security encryption dpapi

我正在尝试加密要存储在程序的多个实例中的密码,但是该密码必须能够由计算机上的所有用户解密。我已经到处寻找选项,并向我推荐了javaDPAPI。但是,这似乎仅基于当前用户上下文进行加密。

基于microsoft's documentation,似乎有一种方法可以执行此操作,但是我不确定如何执行此操作,并且我对Java不太熟悉,也从未做过这样的事情。

1 个答案:

答案 0 :(得分:0)

您需要在提到的here的DataProtector的第二个构造函数中将布尔值设置为true

这也需要在您链接的类中进行一些调整:

this.protector = new DataProtector()更改为

我认为

this.protector = new DataProtector(true)应该这样做。

您甚至可以添加项目唯一的“熵”字节数组,以便只有知道熵的人才能解密机密,而其他程序则不能。这也是原始Microsoft设计的一部分。