我想为安卓应用程序的特定用户在特定时间完成的事务创建一个唯一密钥。我读过两种方法:
- 将当前时间戳与用户id或用户的设备id连接起来
- 使用Java的UUID类为每个事务生成唯一的字符串
我对这些方法产生的字符串有几个问题:
- 第一种方法的结果可能过于明显,用户无法猜测和访问他人的交易
- 两种方法的结果似乎都太长,无法与用户交流
有人知道更好的方法吗?
在应用程序和服务器(机器与机器对话)之间进行交易时,使用您的建议作为交易标识符。29个字符对于一个交易密钥来说并不算多,尤其是在当今智能手机的连接方式下。
我会对这些值加盐,不过只是为了增加一点模糊
之后,对于需要从人类发送/发送给人类的事务id,您将想要更小的(更可容忍和更可读)。我会使用较小的id(可能会发生碰撞),但只能让它们在一定的时间内工作。
查看我的评论以了解更多信息。
希望我能帮上忙。
您可以使用ISBN13。易于计算,代码空间约为2^40。如果你连接到ISBN,你可以达到2^80以上的代码空间。