【发布时间】:2011-07-20 06:05:58
【问题描述】:
再次编辑:我不想创建另一个问题,所以在这里问。我也有同样的情况。但是这次我需要C语言的算法。任何人都可以帮助我。
我有下表。
CREATE TABLE IF NOT EXISTS `j741_order` (
`order_id` int(11) NOT NULL AUTO_INCREMENT,
`buyer_id` int(11) NOT NULL,
`subtotal` decimal(15,5) DEFAULT '0.00000',
`discount` decimal(15,5) NOT NULL DEFAULT '0.00000',
`shipping` decimal(15,5) DEFAULT '0.00000',
`tax` decimal(15,5) DEFAULT '0.00000',
`total` decimal(15,5) NOT NULL DEFAULT '0.00000',
`currency` char(3) DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '0',
`created_date` datetime NOT NULL,
`modified_date` datetime NOT NULL,
PRIMARY KEY (`order_id`),
KEY `idx_buyer_id` (`buyer_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
我想生成一个唯一的 Order Id,(只是为了显示给用户)这样用户就无法猜测下一个 Order Id 是什么。
如何获得唯一的随机顺序 来自原始 Order If 的 ID
并从中取回原始订单 ID 那个随机顺序 ID?
编辑:我不想创建任何其他字段。
【问题讨论】:
-
如果给定的用户只能看到他们的订单,那么猜测下一个 OrderId 应该不是问题。如果所有订单都是公开的,那么从性能、维护和工作量的角度来看,您最好简单地添加一个采用随机值的唯一列,或者至少将随机值的映射表添加到 OrderIds。为什么最简单最明显的解决方案不在桌面上?
-
您的编辑大大改变了问题。如果您在用另一种语言实现算法时遇到问题,您应该发布一个问题,询问您已经取得的任何进展。
标签: php c algorithm encryption