c# - 如何生成唯一的付款号码?

标签 c# .net entity-framework paypal

<分区>


想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .

关闭 5 年前

当您通过 paypal 付款时,您会收到付款编号(如 PAY-8YW005202J095132TLI5UVIE),我认为这个编号是唯一的。
问题是我如何生成这个唯一的 id, 我在系统上工作,这个系统将数据库中的所有交易保存到交易表中,我想生成交易号 我为这笔付款建立结构

(year part)(month part)(day in the month part)(*)

(*) 部分的问题我想为每一天生成随机且唯一的数字。
我使用 C#.Net 开发 EF6

最佳答案

您可以使用 Guid(全局唯一标识符)。试试这个:

var randomPart = Guid.NewGuid().ToString();

此外,您还可以控制它的呈现方式,如下所示:

var p = Guid.NewGuid().ToString("N")
    .Substring(0, 5); // note: trimming chars from guid make it less unique

这将创建一个没有破折号且只有 5 个字符的字符串。

编辑:另一个选项是 base64 字符串。你可以尝试这样的事情:

var buffer = new byte[42]; // length is up to you
var random = RNGCryptoServiceProvider.Create();
random.GetBytes(buffer);
var randomPart = Convert.ToBase64String(buffer);

关于c# - 如何生成唯一的付款号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467006/

上一篇:android - 如何在Paypal中实现拆分交易?

下一篇:paypal - 您可以在 PayPal 中创建比订阅期更短的试用期吗?

相关文章:

c# - LINQ 比较字符串和数据库列类型 'text'

c# - Entity Framework : how to replace a significant part of a lambda query in c# by using an ExpressionVisitor

c# - 使用 LockBits 生成奇怪的图像

c# - 为什么 C# 不支持变体泛型类?

c# - 如何在 winform 中使用 UI 托管控制台 exe

c# - 我可以以编程方式启动 Windows Management Instrumentation 服务吗?

C#:如何将 BITMAP 字节数组转换为 JPEG 格式?

c# - DbMigrator.Update 导致数据库 'name' 已存在

.net - 如何使用asp .net web api、 Entity Framework 和json(代码优先)来回带关系的对象?

c# - 有人可以用简单的英语解释 ConfigurationSection 和 ConfigurationElement 之间的区别吗?