Android 唯一键
Android unique key
我的 Raspberry Pi 上有一个带有 Rasbian 的服务器。为了控制它,我做了一个JavaTCP/IPclient/server。 java 服务器端 运行 一整天,我可以通过客户端程序连接到它。基本上,服务器等待一些代码,并执行绑定到该代码的命令。
在我的电脑和我的 Android 智能手机上,一切都完美无缺。
所以我添加了一个身份验证功能。我有一个白名单,服务器检查是否允许客户端 IP(由 socket.getRemoteSocketAddress()
获得)连接并向我的服务器发送命令。
我添加了我的电脑 IP(本地 IP,因为我的电脑和我的 Raspberry 在同一个网络上),我也添加了我的智能手机 IP。
我的问题在这里:我的智能手机不是我的 PC,而是有一个动态 IP。所以当我将它的 IP 添加到我的白名单时,它运行良好。但是过了几次,我的手机IP变了,因为它是动态的,所以我的手机不再被允许了。
所以我正在我的智能手机上搜索一个唯一的密钥,我可以用它来识别我的智能手机,而且只能识别我的智能手机。
我的电脑上也需要一个类似的密钥,以同样的方式识别我的电脑。
你知道这样的钥匙吗?
我会使用 TLS 而不是白名单 IP。您可以生成一个自签名证书以在您的服务器上使用,然后在您的 phone、计算机或任何设备上手动安装该证书。只有具有证书的设备才能连接到您的服务器。
我的 Raspberry Pi 上有一个带有 Rasbian 的服务器。为了控制它,我做了一个JavaTCP/IPclient/server。 java 服务器端 运行 一整天,我可以通过客户端程序连接到它。基本上,服务器等待一些代码,并执行绑定到该代码的命令。
在我的电脑和我的 Android 智能手机上,一切都完美无缺。
所以我添加了一个身份验证功能。我有一个白名单,服务器检查是否允许客户端 IP(由 socket.getRemoteSocketAddress()
获得)连接并向我的服务器发送命令。
我添加了我的电脑 IP(本地 IP,因为我的电脑和我的 Raspberry 在同一个网络上),我也添加了我的智能手机 IP。
我的问题在这里:我的智能手机不是我的 PC,而是有一个动态 IP。所以当我将它的 IP 添加到我的白名单时,它运行良好。但是过了几次,我的手机IP变了,因为它是动态的,所以我的手机不再被允许了。
所以我正在我的智能手机上搜索一个唯一的密钥,我可以用它来识别我的智能手机,而且只能识别我的智能手机。
我的电脑上也需要一个类似的密钥,以同样的方式识别我的电脑。
你知道这样的钥匙吗?
我会使用 TLS 而不是白名单 IP。您可以生成一个自签名证书以在您的服务器上使用,然后在您的 phone、计算机或任何设备上手动安装该证书。只有具有证书的设备才能连接到您的服务器。