init
This commit is contained in:
commit
aedc80a555
26
README.md
Normal file
26
README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# password generate
|
||||
|
||||
Generate random passwords. Password is written to stdout and copied to the windows clipboard.
|
||||
|
||||
Place both scripts somewhere in your `%PATH%` on Windows, then execute `pw <num` from the "Run" window.
|
||||
|
||||
Usage:
|
||||
|
||||
```
|
||||
./pw.py <length of password>
|
||||
```
|
||||
|
||||
e.g.
|
||||
|
||||
```
|
||||
./pw.py 32
|
||||
```
|
||||
|
||||
|
||||
### vim Shortcut
|
||||
|
||||
```
|
||||
let pwcmd = 'cmd.exe /c "python C:\\Tools\\pw.py 10" |tr -d "\\n"|tr -d "\\r"'
|
||||
:nmap <F8> "=system(pwcmd)<C-M>p
|
||||
:imap <F8> <C-R>=system(pwcmd)<C-M>
|
||||
```
|
28
pw.py
Executable file
28
pw.py
Executable file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import random
|
||||
|
||||
def generate_pw(length):
|
||||
import string
|
||||
charset = string.ascii_letters + string.digits + '+-_?!.:,;';
|
||||
return ''.join([random.choice(charset) for _ in range(length)])
|
||||
|
||||
def main():
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
import win32clipboard
|
||||
if len(sys.argv) > 1:
|
||||
length = int(sys.argv[1])
|
||||
else:
|
||||
length = 12
|
||||
pw = generate_pw(length)
|
||||
print(pw)
|
||||
win32clipboard.OpenClipboard()
|
||||
win32clipboard.EmptyClipboard()
|
||||
win32clipboard.SetClipboardText(pw, win32clipboard.CF_UNICODETEXT)
|
||||
win32clipboard.CloseClipboard()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue
Block a user