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