File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ import  secrets 
2+ import  string 
3+ 
4+ # Generate a random password 
5+ def  generate_password (length = 16 ):
6+     characters  =  string .ascii_letters  +  string .digits  +  string .punctuation 
7+     password  =  "" .join (secrets .choice (characters ) for  i  in  range (length ))
8+     return  password 
9+ 
10+ # Store a password in a secure way 
11+ def  store_password (service , username , password ):
12+     # Use a secure hashing function to store the password 
13+     hashed_password  =  hash_function (password )
14+ 
15+     # Store the hashed password in a database or file 
16+     with  open ("password_database.txt" , "a" ) as  f :
17+         f .write (f"{ service } { username } { hashed_password } \n " )
18+ 
19+ # Retrieve a password 
20+ def  get_password (service , username ):
21+     # Look up the hashed password in the database or file 
22+     with  open ("password_database.txt" ) as  f :
23+         for  line  in  f :
24+             service_ , username_ , hashed_password_  =  line .strip ().split ("," )
25+             if  service  ==  service_  and  username  ==  username_ :
26+                 # Use a secure hashing function to compare the stored password with the provided password 
27+                 if  hash_function (password ) ==  hashed_password_ :
28+                     return  password 
29+         return  None 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments