java - 如何在 Android 应用程序中为金融交易生成最多 10 个字符的唯一引用 ID?

标签 java android database key uuid

我想为我的 Android 应用程序的特定用户在特定时间完成的交易创建唯一 key 。我读过两种方法:

  1. 将当前时间戳与用户 ID 或用户的设备 ID 连接起来
  2. 使用 Java 的 UUID 类为每个事务生成唯一的字符串

我对这些方法生成的字符串有一些担忧:

  1. 第一种方法的结果可能过于明显,用户无法猜测和访问其他人的交易
  2. 这两种方法的结果似乎都太长,无法传达给用户

有谁知道更好的方法吗?

最佳答案

在您的应用和服务器(机器与机器对话)之间进行交易时,使用您建议的内容作为交易标识符。对于交易 key 来说,29 个字符并不算多,特别是对于当今智能手机所具有的连接类型而言。

我会对这些值加盐,只是为了添加一点混淆。

之后,对于需要从人类发送/发送给人类的交易 ID,您将需要更小的东西(更易于容忍和人类可读)。我会使用较小的 id(可能会发生冲突),但让它们仅在一定时间内工作。

请参阅我的评论以获取更多信息。

希望我有帮助。

关于java - 如何在 Android 应用程序中为金融交易生成最多 10 个字符的唯一引用 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26465656/

相关文章:

java - 新的 intellij/maven Web 应用程序,关于服务、dao、公共(public)库等分离模块的建议

java - 如果调用 doOnSubscribe() 返回的对象,RxJava2 dispose() 不起作用

android - 带注释的 Android 类层次结构

mysql - 如何找到复杂的SQL查询

php - 使用 jQuery 拖放后如何刷新 PHP 数据库日历?

java - 流过滤器线程安全

android - 如何从灰度字节缓冲区图像创建位图?

java - Android/Java 中的反斜杠

c# - 编写自己的存储系统 : where to start?

java - 哪个版本的 Apache POI 与 Java 1.6 一起运行?