当前位置: 首页 > 面试题库 >

Java-从配置文件加密/解密用户名和密码

林承悦
2023-03-14
问题内容

我们正忙于为客户开发Java Web服务。有两种可能的选择:

  • 将加密的用户名/密码存储在Web服务客户端上。从配置读取。客户端上的文件,解密并发送。

  • 将加密的用户名/密码存储在Web服务器上。从配置读取。Web服务器上的文件,解密并在Web服务中使用。

Web服务使用用户名/密码来访问第三方应用程序。

客户端已经具有提供此功能的类,但是此方法涉及以明文方式发送用户名/密码(尽管在内联网中)。他们希望存储信息。在Web服务中,但实际上并不想为他们已经拥有的东西付费。(安全性不是一个大考虑因素,因为它仅在其Intranet内)。

因此,我们需要使用Java轻松快捷地进行一些操作。

有什么建议吗?

服务器是Tomkat 5.5。Web服务是Axis2。

  • 我们应该使用什么加密/解密包?
  • 钥匙店呢?
  • 我们应该使用什么配置机制
  • 这样容易部署吗?

问题答案:

在Intranet上当然不能证明消除安全性是合理的。对信息造成的大多数损害是内部人员造成的。查看受保护内容的价值,并适当考虑安全性。

听起来好像有一个第三方应用程序,您拥有一个第三方凭据,并且某些客户端在使用第三方应用程序时可以有效地共享此身份。如果是这样,我建议采用以下方法。

请勿在您的Web服务器之外分发第三方密码。

最安全的方法是以交互方式将其提供给Web应用程序。可以是ServletContextListener,它在应用程序启动时提示输入密码,或者是应用程序中的页面,以便管理员可以通过表单输入密码。密码存储在ServletContext中,并用于验证对第三方服务的请求。

安全性方面的降级措施是将​​密码存储在服务器的文件系统上,以便只有运行服务器的用户才能读取该密码。这依赖于服务器的文件系统权限进行保护。

试图在客户端或服务器上存储加密形式的密码只是向后退了一步。尝试用另一个秘密保护一个秘密时,您将陷入无限回归。

此外,客户端应向服务器进行身份验证。如果客户端是交互式的,请让用户输入密码。然后,服务器可以决定是否授权该用户访问第三方服务。如果客户端不是交互式的,那么下一个最佳安全性是使用文件系统权限来保护客户端的密码。

为了保护客户端的凭据,客户端和Web服务器之间的通道应使用SSL保护。在这里,在Intranet上进行操作是有优势的,因为您可以在服务器上使用自签名证书。

如果确实将密码存储在文件中,请自行将它们放在文件中;它使得需要更加谨慎地管理权限更加显着,并且使许多用户编辑该文件并因此看到密码的需求降至最低。



 类似资料:
  • 问题内容: 我想用Java加密和解密密码,然后以加密形式存储到数据库中。如果它是开源的,那就太好了。有什么建议/建议吗? 问题答案: 编辑 :这个答案是旧的。现在 不建议 使用MD5,因为它很容易被破坏。 我想象中的MD5必须足够好?您可以使用MessageDigest实现它。 这里还列出了其他算法。 如果确实需要,这是它的第三方版本: Fast MD5

  • 问题内容: 我有一个程序从配置文件中读取服务器信息,并希望对该配置中的密码进行加密,该密码可由我的程序读取并解密。 要求: 加密要存储在文件中的纯文本密码 解密从我的程序从文件读取的加密密码 关于我将如何做到这一点的任何建议?我当时在考虑编写自己的算法,但我认为这绝对是不安全的。 问题答案: 一种简单的方法是在Java中使用基于密码的加密。这使你可以使用密码来加密和解密文本。 这基本上意味着初始化

  • 问题内容: 我想将加密的密码存储在Java文件中。我在使用 javax.crypto 的解决方案中看到了一个问题,但是问题在于密钥是动态生成的,并且是随机的。 然后将在运行时在Java程序中获取并解密该密码。鉴于我要在文件中存储一个已经加密的密码-解密时我想要正确的文本。 有没有办法告诉javax.crypto方法: 可以将其替换为基于某个私钥生成的我自己的密钥吗? 谁能指出一些有关执行此操作的资

  • 这是可能的还是加密必须共享和使用相同的密钥? 主要目的就是这样。 我将有两个客户端可以发送和接收加密数据到彼此。

  • 问题内容: 我想使用128位AES加密和16字节密钥对密码进行加密和解密。解密值时出现错误。解密时我丢失任何内容吗? 错误信息 最后我基于@QuantumMechanic答案使用以下解决方案 } 问题答案: 如果对于块密码,您将不使用包含填充方案的转换,则需要使明文中的字节数为该密码的块大小的整数倍。 因此,要么将纯文本填充到16字节的倍数(即AES块大小),要么在创建对象时指定填充方案。例如,您

  • 问题内容: 我想用Java加密和解密文件,我已经阅读了这个URL http://www- users.york.ac.uk/~mal503/lore/pkencryption.htm ,我得到了两个文件,即公共安全证书和私有安全证书文件和private.pem文件,我将这些文件复制并粘贴到当前目录中,并按如下所示编写Java代码,当我运行此文件时,未执行任何加密或解密操作,请查看并告诉我我哪里出了