相关疑难解决方法(0)

简单证明GUID不是唯一的

我想证明一个GUID在一个简单的测试程序中并不是唯一的.我希望以下代码运行几个小时,但它不起作用.我怎样才能使它工作?

BigInteger begin = new BigInteger((long)0);
BigInteger end = new BigInteger("340282366920938463463374607431768211456",10);  //2^128
for(begin; begin<end; begin++)
  Console.WriteLine(System.Guid.NewGuid().ToString());
Run Code Online (Sandbox Code Playgroud)

我正在使用C#.

c# guid

323
推荐指数
21
解决办法
26万
查看次数

如何生成和验证软件许可证密钥?

我目前正在开发一种产品(用C#开发),可以免费下载和安装,但版本非常有限.要访问所有功能,用户必须支付许可费并获得密钥.然后将该密钥输入应用程序以"解锁"完整版本.

因为使用像这样的许可证密钥,我想知道:

  1. 通常如何解决?
  2. 如何生成密钥以及如何通过应用程序验证密钥?
  3. 我怎样才能避免让密钥在互联网上发布并被没有支付许可证的其他人使用(一个基本上不是"他们的"的密钥).

我想我也应该以某种方式将密钥绑定到应用程序的版本,这样就可以在功能版本中为新密钥收费.

在这种情况下我还应该考虑其他什么吗?

c# license-key

220
推荐指数
10
解决办法
27万
查看次数

如何从GUID生成8个字节的唯一ID?

我尝试在我们的C#应用​​程序中使用long作为唯一ID(不是全局的,仅用于一个会话)用于我们的事件.你知道以下是否会生成一个唯一的长ID?

public long GenerateId()
{
 byte[] buffer = Guid.NewGuid().ToByteArray();
 return BitConverter.ToInt64(buffer, 0);
}
Run Code Online (Sandbox Code Playgroud)

为什么我们不直接使用GUID?我们认为8字节长就足够了.

.net c#

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×3

.net ×1

guid ×1

license-key ×1