Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 持久化web服务密码_Java_Encryption_Passwords_Web Services - Fatal编程技术网

Java 持久化web服务密码

Java 持久化web服务密码,java,encryption,passwords,web-services,Java,Encryption,Passwords,Web Services,我不是保安人员,所以在此方面的任何帮助都将不胜感激 我有大量的第三方现场设备,它们具有可以使用ssl跨xml rpc调用的远程方法。对于每个方法调用,用户名和密码必须以明文形式作为参数与任何其他方法参数一起传输。我无法控制设备或其实现 我目前正在编写一个web应用程序,用户可以登录,然后访问一些现场设备。用户不需要知道他们连接到什么设备,他们只需要数据。因此,我需要在数据库中保存每个设备的用户名和密码,以便在需要进行rpc调用时检索它们 我如何加密我的设备服务密码,以便在需要拨打电话时对其进行解

我不是保安人员,所以在此方面的任何帮助都将不胜感激

我有大量的第三方现场设备,它们具有可以使用ssl跨xml rpc调用的远程方法。对于每个方法调用,用户名和密码必须以明文形式作为参数与任何其他方法参数一起传输。我无法控制设备或其实现

我目前正在编写一个web应用程序,用户可以登录,然后访问一些现场设备。用户不需要知道他们连接到什么设备,他们只需要数据。因此,我需要在数据库中保存每个设备的用户名和密码,以便在需要进行rpc调用时检索它们

我如何加密我的设备服务密码,以便在需要拨打电话时对其进行解密?当需要拨打电话时,如何解密密码

我在应用程序中使用Java和Spring


注意,我不是问如何保存用户的登录密码。

我们解决了类似的问题


在加密其他服务的用户名和密码时,您将使用用户登录到web应用程序的密码作为密钥。

如果我有这项权利,每个现场设备只有一个用户名/pswd(尽管每个都不同,并且有许多现场设备)

构建一个安全的代理服务,可以访问所有设备密码。设备密码可以使用代理服务的公钥加密存储。您的web应用程序向代理服务提供用户密钥,代理服务(假设满足)代表现场设备与现场设备对话。CryptoApi或其包装器应该是您所需要的全部


您不会对数字发表评论,但如果代理是无状态的,它应该可以扩展。

每个服务都有一个用户名/密码对。用户和他们将访问的服务之间存在多对多关系。因此,我不能使用一个用户的密码来加密服务用户名和密码,因为另一个用户很可能需要访问该服务。有趣的问题:)每个用户是否每个设备都有自己的用户id \密码,是否有“系统定义”每个设备的用户id \密码还是一个组合?每个设备都有一个用户名-密码对,用于每次xml rpc调用,而不管用户登录到web应用程序。