gpt4 book ai didi

java - 确定哪个网络接口(interface)将用于 JDK 上的给定主机名

转载 作者:行者123 更新时间:2023-11-29 05:23:56 25 4
gpt4 key购买 nike

我有一个简单的安全例程,它使用 IP 地址串联的 MD5 散列和从客户端到服务器的共享 secret 。 (客户端将这个散列提供给服务器,服务器根据客户端的 IP 生成自己的散列并检查是否相等。)

客户端可能有多个网络接口(interface);例如,在开发中我们有一个公共(public) IP 地址、本地主机和一个 VPN 网络地址,更不用说 IPv6 地址了。

当从客户端向主机发出请求时,客户端需要将请求接口(interface)的IP地址连接到共享 key 。我挂断了请求接口(interface)部分。除了将其作为配置项之外,是否还有通过 JDK 确定将使用哪个网络接口(interface)来解析和传输到特定主机的方法? (我已经将主机名作为配置项,所以这不是问题。)

最佳答案

这基本上是一个网络问题,而不是 Java 问题。而且即使你只有一个接口(interface),也没有直接的方法知道你自己的公共(public)IP地址,更不用说几个了。您可以从像 whatismyip.com 这样的站点上抓取您的地址,但不能保证您的操作系统选择到达该站点的路由将始终或永远通过与需要哈希地址的服务器路由相同的接口(interface)。

关于java - 确定哪个网络接口(interface)将用于 JDK 上的给定主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com