有没有办法混淆部分XML属性?
我想加密user =和password =以下xml属性的一部分,因此没有人查看该文件可以看到密码。有没有办法用Java DOM做到这一点?
<connectionString="Data Source=Winserver\sqlexpress;Initial Catalog=haven;Integrated Security=false;user=admin;password="/>
如果您可以使用Java代码回答,那就太棒了。
谢谢!
答案 0 :(得分:1)
我不是一个java人。但我可以帮助你完成一些程序。
password=
用于解码
您可以尝试AES,TwoFish等加密算法。
答案 1 :(得分:0)
可以加密XML数据。
有关详细信息,请查看http://www.w3.org/Encryption/2001/。
我想在Java中有很多方法可以做到这一点,依赖于你已经建立的XML Api支持它。您可能还想看看java数字签名api http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/
答案 2 :(得分:0)
我认为保持ASP.NET应用程序的连接字符串私有的常用方法是将连接字符串放在Web服务器的注册表中,然后只在ASP网站中加载该值。
但即使您反对注册表或想要一个跨平台的方法,我认为最好的办法是将字符串放在外人无法阅读的地方。这可能在根网站目录之外(如果这是一个网站),或提示用户(根本不存储它),或在其他地方隐藏它。在Linux机器上,您甚至可以chmod 700,以限制只能访问运行Java程序的用户。
答案 3 :(得分:0)
您可以查看Silencio库,您可以使用该库从XML文件中删除或散列节点。您可以决定应该转换哪些节点(您可能只需要对某些节点进行模糊处理)以及应该应用的更改(清除内容,散列或自定义)