我曾使用RNGCryptoServiceProvider
来生成基于字符串的订单ID,但有4个实例其中ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@$%^*()_-
会生成已存在的订单ID。
这让我思考...
为什么我们不能像这样使用:
<html>
...
<p>@GenerateOrderId()</p>
...
</html>
和:
public string GenerateOrderId()
{
return "OID" +
DateTime.Now.Year + DateTime.Now.Month +
DateTime.Now.Day +
DateTime.Now.Hour +
DateTime.Now.Minute +
DateTime.Now.Second +
DateTime.Now.Millisecond;
}
有人告诉我这是个不好的想法,但并没有解释或原因,它仍然印象深刻。 ... 我想使用它的原因是因为它将始终是唯一的。