forked from axiom-team/jaklis
Add standalone crypt.py script to encrypt/decrypt msg
This commit is contained in:
parent
9c406c5476
commit
929ea237c5
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import base64, base58, sys, string, random
|
||||
from natools import get_privkey, box_decrypt, box_encrypt, fmt
|
||||
|
||||
def getargv(arg:str, default:str="", n:int=1, args:list=sys.argv) -> str:
|
||||
if arg in args and len(args) > args.index(arg)+n:
|
||||
return args[args.index(arg)+n]
|
||||
else:
|
||||
return default
|
||||
|
||||
cmd = sys.argv[1]
|
||||
|
||||
dunikey = getargv("-k", "private.dunikey")
|
||||
msg = getargv("-m", "test")
|
||||
pubkey = getargv("-p")
|
||||
|
||||
def decrypt(msg):
|
||||
msg64 = base64.b64decode(msg)
|
||||
return box_decrypt(msg64, get_privkey(dunikey, "pubsec"), pubkey).decode()
|
||||
|
||||
def encrypt(msg):
|
||||
return fmt["64"](box_encrypt(msg.encode(), get_privkey(dunikey, "pubsec"), pubkey)).decode()
|
||||
|
||||
if cmd == 'decrypt':
|
||||
clear = decrypt(msg)
|
||||
print(clear)
|
||||
elif cmd == 'encrypt':
|
||||
clear = encrypt(msg)
|
||||
print(clear)
|
||||
|
Loading…
Reference in New Issue