2011-04-28 4 views
0

je veux générer une clé unique dans mon service Web (WCF), à ASIGN à un utilisateur, il devrait être 32bit minimum, quelle est la meilleure façon de di it,Génération d'une clé unique sur l'utilisation de C#

il serait asigned comme un numéro d'enregistrement pour cet utilisateur, et serait valable pendant 23 jours,

i pensé à utiliser l'horodatage et le codage à l'aide de RSA,]

Quel serait la meilleure pratique

Cordialement Nakul Kundra

Répondre

3

Vous ne savez pas exactement ce que vous voulez dire et pourquoi vous voulez crypter une clé, mais vous pouvez utiliser un GUID pour une clé unique. Comme pour être valide pendant 23 jours, c'est logique que vous devez implémenter.

0

J'utiliser un Guid

var userKey = Guid.NewGuid(); 

Dans votre base de données que vous auriez besoin de stocker l'datetime que la clé a été créé et puis mettre en œuvre votre logique pour vérifier que, pour déterminer si la clé est arrivé à expiration. Je ne vois aucun besoin de l'encoder en fonction de votre question.

0

Vous pouvez utiliser ma réponse à une autre question similaire sur le SO: Serial numbers generation without user data

L'algorithme permet d'installer un octet caché dans un guid (128 bits). L'octet caché peut contenir par exemple un mois (à partir d'une date fixe dans le temps, avec 4 bits, vous pouvez coder 32 mois) et un jour (4 bits).