【问题标题】:Generating a Unique Key on using C#使用 C# 生成唯一密钥
【发布时间】:2011-04-28 19:34:37
【问题描述】:

我想在我的 Web 服务 (WCF) 中生成一个唯一密钥,以分配给用户,它应该至少是 32 位,最好的方法是什么,

它将被指定为该用户的注册号,有效期为 23 天,

我想过使用时间戳并使用 RSA 对其进行编码,]

最佳做法是什么

问候 纳库尔昆德拉

【问题讨论】:

    标签: wcf


    【解决方案1】:

    不确定您的意思以及为什么要加密密钥,但您可以使用 GUID 作为唯一密钥。

    至于有效期为23天,这是你需要实现的逻辑。

    【讨论】:

      【解决方案2】:

      我会使用Guid

      var userKey = Guid.NewGuid();
      

      在您的数据库中,您需要存储创建密钥的日期时间,然后实施您的逻辑来检查以确定密钥是否已过期。根据您的问题,我认为没有必要对其进行编码。

      【讨论】:

        【解决方案3】:

        您可以使用我对 SO 上另一个类似问题的回答:Serial numbers generation without user data

        该算法允许在 guid(128 位)中安装隐藏字节。隐藏字节可以包含例如一个月(从一个固定的日期开始,4 位可以编码 32 个月)和一天(4 位)。

        【讨论】:

          猜你喜欢
          • 2010-09-08
          • 2023-04-04
          • 1970-01-01
          • 2013-07-18
          • 2012-04-09
          • 2018-03-04
          • 1970-01-01
          • 2015-03-06
          • 1970-01-01
          相关资源
          最近更新 更多