【发布时间】:2011-04-28 19:34:37
【问题描述】:
我想在我的 Web 服务 (WCF) 中生成一个唯一密钥,以分配给用户,它应该至少是 32 位,最好的方法是什么,
它将被指定为该用户的注册号,有效期为 23 天,
我想过使用时间戳并使用 RSA 对其进行编码,]
最佳做法是什么
问候 纳库尔昆德拉
【问题讨论】:
标签: wcf
我想在我的 Web 服务 (WCF) 中生成一个唯一密钥,以分配给用户,它应该至少是 32 位,最好的方法是什么,
它将被指定为该用户的注册号,有效期为 23 天,
我想过使用时间戳并使用 RSA 对其进行编码,]
最佳做法是什么
问候 纳库尔昆德拉
【问题讨论】:
标签: wcf
不确定您的意思以及为什么要加密密钥,但您可以使用 GUID 作为唯一密钥。
至于有效期为23天,这是你需要实现的逻辑。
【讨论】:
我会使用Guid
var userKey = Guid.NewGuid();
在您的数据库中,您需要存储创建密钥的日期时间,然后实施您的逻辑来检查以确定密钥是否已过期。根据您的问题,我认为没有必要对其进行编码。
【讨论】:
您可以使用我对 SO 上另一个类似问题的回答:Serial numbers generation without user data
该算法允许在 guid(128 位)中安装隐藏字节。隐藏字节可以包含例如一个月(从一个固定的日期开始,4 位可以编码 32 个月)和一天(4 位)。
【讨论】: