Mercurial > hg > config
annotate python/generate_password.py @ 928:84543f2cda0d
restore my real email that companies keep making me change
| author | Jeff Hammel <k0scist@gmail.com> | 
|---|---|
| date | Tue, 14 Oct 2025 14:20:55 -0700 | 
| parents | 1b6f0650dabb | 
| children | 
| rev | line source | 
|---|---|
| 
871
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
2 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
3 import random | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
4 import string | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
5 import sys | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
6 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
7 pool = ''.join([string.ascii_letters, | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
8 string.digits, | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
9 string.punctuation]) | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
10 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
11 contents = [(string.ascii_lowercase, 6), | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
12 (string.ascii_uppercase, 6), | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
13 (string.punctuation, 2)] | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
14 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
15 def password(length=16, pool=pool): | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
16 return ''.join(random.sample(pool, length)) | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
17 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
18 def main(args=sys.argv[1:]): | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
19 """CLI""" | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
20 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
21 print(password()) | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
22 | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
23 if __name__ == '__main__': | 
| 
 
1b6f0650dabb
add script to generate passwords
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
24 main() | 
