我正在使用 iOS 应用程序和基于 SMS 的验证系统来验证用户的电话号码。
为此建议我在设备上生成一个随机数。这个号码我想再次通过短信发送到设备。我的问题是如何通过网络传输这个号码?如果 some1 使用 Wireshark,他很容易就能看到验证码。我想了两个办法:
方式 1(设备 <-> SMS-网关):
在设备上创建代码 -> 发送到 SMS-Gateway-Provider -> 验证用户从 SMS 键入的代码
方式 2(设备 -> 服务器 -> 短信网关 -> 设备 <-> 服务器):
从服务器请求代码创建 -> 创建代码(保存在数据库中 + 发送加密代码作为响应)并将代码发送到 SMS-GW -> 将 SMS 发送到设备 -> 如果用户键入的代码正确,请检查服务器 <-> true / false 由服务器返回。
现在有更好或更简单(更重要的安全和实用)的方法吗?我也不确定如何加密/解密代码。它是一个仅包含数字的 6 字符代码。
我的服务器后端是 Java Jersey RESTful WS。
任何想法都值得赞赏。