我正在开发一个应用程序,该应用程序将使用他们的设备 IMEI/ESN 号码验证用户,并在用户更改设备时保留所有以前的 IMEI/ESN 的记录,是否有任何有用的方法。我已经获得设备 IMEI/ESN,但我如何使用它进行用户验证?
替代问题:如果不可能,那么在注册到应用程序后,我将如何在用户号码上发送 4 位代码(如 viber)?
我正在开发一个应用程序,该应用程序将使用他们的设备 IMEI/ESN 号码验证用户,并在用户更改设备时保留所有以前的 IMEI/ESN 的记录,是否有任何有用的方法。我已经获得设备 IMEI/ESN,但我如何使用它进行用户验证?
替代问题:如果不可能,那么在注册到应用程序后,我将如何在用户号码上发送 4 位代码(如 viber)?
替代问题:如果不可能,那么在注册到应用程序后,我将如何在用户号码上发送 4 位代码(如 viber)?
您可以根据您的要求从服务器端和 Map 生成唯一的字母数字字符串。
如果您使用的是 java 服务器,那么下面的代码会有所帮助
import java.util.Random;
public class RandomString
{
private static final char[] symbols = new char[36];
static {
for (int idx = 0; idx < 10; ++idx)
symbols[idx] = (char) ('0' + idx);
for (int idx = 10; idx < 36; ++idx)
symbols[idx] = (char) ('a' + idx - 10);
}
private final Random random = new Random();
private final char[] buf;
public RandomString(int length)
{
if (length < 1)
throw new IllegalArgumentException("length < 1: " + length);
buf = new char[length];
}
public String nextString()
{
for (int idx = 0; idx < buf.length; ++idx)
buf[idx] = symbols[random.nextInt(symbols.length)];
return new String(buf);
}
}
如果您的服务器语言是 PHP,那么您可以使用 MD% 执行类似的操作
md5(uniqid(rand(), true))
但是 md5 函数的输入长度大于其输出长度,并且根据en.wikipedia.org/wiki/Pigeonhole_principle可以保证碰撞,因此在这种情况下不能保证唯一性
之后,您需要使用 Web 服务映射这些键和值