android - 为支付交易生成唯一订单 ID 的最佳方法?
问题描述
目前,我正在使用简单的线性加法来生成新的订单 ID,例如 110000、110001、110002……但在这种方法中,任何人都可以计算在我的应用程序上下达的订单数量。因此,我想添加一种新方法,其中订单 ID 可读但用户无法理解。我想在我的 android 应用程序中使用它。那么我可以做些什么来使用一些逻辑或 3rd 方库来实现这一点?
解决方案
嗨,您可以通过计算生成非顺序唯一 ID
val idForUser = (9369712273 * dbId + 1365089121) % 999999937
更新:为了在插入后自动设置字段值创建触发器并设置 idForUser 值
CREATE TRIGGER id_generator
AFTER INSERT ON table_name
FOR EACH ROW
BEGIN
UPDATE table_name SET idForUser = (9369712273 * _id + 1365089121) % 999999937 WHERE _id = NEW._id;
END;
推荐阅读
- regex - 正则表达式包含不应该匹配的匹配
- function - 基于返回类型的 Fortran 泛型函数
- r - 无法分配大小为 2928.7 Gb 的向量
- tensorflow - UnimplementedError: Fused conv implementation 目前不支持分组卷积
- sql - 如何更新从其数据源设置为在 Oracle Apex 中查看的记录?
- javascript - 如何在单击提交时从 Django 中的数据库中获取数据?
- prometheus - PromQL 中具有时间偏移的两个指标之间的差异
- data-structures - 双数组特里与三重数组特里
- phpmyadmin - phpMyAdmin 不显示登录表单
- java - 如何调度 JSP 页面?