Лучший подход для создания уникальных идентификаторов заказов для платежных транзакций?

#android #payment-gateway #paytm

#Android #платежный шлюз #paytm

Вопрос:

В настоящее время я использую простое линейное сложение для создания новых идентификаторов заказов, таких как 110000, 110001, 110002… Но при таком подходе любой может рассчитать количество заказов, размещенных в моем приложении. Итак, я хочу добавить новый подход, при котором идентификатор заказа читается, но не понятен пользователю. Я хочу использовать это в своем приложении для Android. Итак, что я могу сделать для достижения этой цели, используя некоторую логику или сторонние библиотеки?

Комментарии:

1. Определите «читаемый».

2. Я использую firebase, которая создает уникальный и сложный идентификатор документа, поэтому я создал коллекцию транзакций, чтобы предоставить мне сложный идентификатор для целей транзакции, однако я использую другие случайные методы для создания видимого / читаемого идентификатора заказа для конечных пользователей.

Ответ №1:

Привет, вы можете генерировать непоследовательный уникальный идентификатор с помощью вычисления

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;