mirror of https://github.com/r4sas/PBinCLI
R4SAS
8 years ago
3 changed files with 26 additions and 12 deletions
@ -1,7 +1,27 @@
@@ -1,7 +1,27 @@
|
||||
"""Action functions for argparser""" |
||||
import pbincli.sjcl_gcm |
||||
import base64 |
||||
import pbincli.actions |
||||
from Crypto.Hash import SHA256 |
||||
from Crypto.Random import get_random_bytes |
||||
from pbincli.sjcl_gcm import SJCL |
||||
from pbincli.utils import PBinCLIException, check_readable, check_writable |
||||
from zlib import compress |
||||
|
||||
def send(args): |
||||
print("Meow!") |
||||
""" Sub-command for sending paste """ |
||||
check_readable(args.filename) |
||||
with open(args.filename, "rb") as f: |
||||
contents = f.read() |
||||
file = base64.b64encode(compress(contents)) |
||||
|
||||
passphrase = base64.b64encode(get_random_bytes(32)) |
||||
if not args.password: |
||||
password = passphrase |
||||
else: |
||||
p = SHA256.new() |
||||
p.update(args.password.encode("UTF-8")) |
||||
password = passphrase + p.hexdigest().encode("UTF-8") |
||||
|
||||
data = SJCL().encrypt(file, password) |
||||
'''Here we must run function post from pbincli.transports''' |
||||
print(data) |
||||
|
Loading…
Reference in new issue