为付款交易生成唯一订单ID的最佳方法?

问题描述

当前,我正在使用简单的线性加法来生成新的订单ID,例如110000、110001、110002 ...,但是通过这种方法,任何人都可以计算在我的应用中下的订单数量。因此,我想添加一种新方法,使订单ID可以被用户读取,但不能被用户理解。我想在我的Android应用程序中使用它。那么我该怎么做才能使用某些逻辑库或第三方库?

解决方法

您好,您可以通过计算生成非顺序唯一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;