File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+
2+ import os
3+ import hashlib
4+ import secrets
5+
6+ class PasskeyManager :
7+ def __init__ (self ):
8+ self .passkeys = {}
9+
10+ def generate_passkey (self , user_id ):
11+ """Generate a secure passkey for a user."""
12+ key = secrets .token_urlsafe (32 )
13+ hashed_key = hashlib .sha256 (key .encode ()).hexdigest ()
14+ self .passkeys [user_id ] = hashed_key
15+ return key
16+
17+ def validate_passkey (self , user_id , passkey ):
18+ """Validate a given passkey for a user."""
19+ hashed_key = hashlib .sha256 (passkey .encode ()).hexdigest ()
20+ return self .passkeys .get (user_id ) == hashed_key
21+
22+ if __name__ == "__main__" :
23+ manager = PasskeyManager ()
24+ user_id = "user123"
25+ key = manager .generate_passkey (user_id )
26+ print (f"Generated passkey for { user_id } : { key } " )
27+
28+ # Validate Passkey
29+ valid = manager .validate_passkey (user_id , key )
30+ print (f"Passkey validation result: { 'Valid' if valid else 'Invalid' } " )
You can’t perform that action at this time.
0 commit comments