Is there a way to use python to encrypt/decrypt a file (something like Axcrypt)?
Asked
Active
Viewed 7,675 times
4
-
is the ruby tag there by accident? I would fix it for you, but I can't... – Ashley Grenon Aug 12 '10 at 19:08
-
Did you mean to tag this with `python` instead of `ruby`, or are the title and question body in error? – Thomas Aug 12 '10 at 19:08
-
was there a ruby tag? sorry didn't notice it – Gary Aug 13 '10 at 11:12
4 Answers
1
check http://github.com/slideinc/PyECC , http://sourceforge.net/projects/cryptopy/ and http://www.dlitz.net/software/pycrypto/ (found all by search "crypto" at http://pypi.python.org/pypi )

Odomontois
- 15,918
- 2
- 36
- 71
0
Go here in the python docs for modules available for encryption: http://docs.python.org/library/crypto.html

Ashley Grenon
- 9,305
- 4
- 41
- 54
0
You can try this for encrypting as well as decrypting..
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import nacl.secret
import nacl.utils
import base64
from pyblake2 import blake2b
import getpass
print "### ENCRYPTION"
key = blake2b(digest_size=16)
key.update(getpass.getpass("PASSWORD:"))
key = key.hexdigest()
print "key: %s" % key
box = nacl.secret.SecretBox(key)
# This is our message to send, it must be a bytestring as SecretBox will
# treat is as just a binary blob of data.
msg = b"whohooäööppöööo"
print "msg: %s" % msg
nonce = nacl.utils.random(nacl.secret.SecretBox.NONCE_SIZE)
print "nonce: %s" % nacl.encoding.HexEncoder.encode(nonce)
encrypted = box.encrypt(msg, nonce, encoder=nacl.encoding.HexEncoder)
print "cipher: %s " % encrypted
print "### DECRYPTION"
key = blake2b(digest_size=16)
key.update(getpass.getpass("PASSWORD:"))
key = key.hexdigest()
nonce = None
print "nonce: %s" % nonce
print "key: %s" % key
box = nacl.secret.SecretBox(key)
msg = encrypted
print "msg: %s" % msg
plain = box.decrypt(ciphertext=msg,encoder=nacl.encoding.HexEncoder)
print "plain: %s" % plain

pri
- 104
- 1
- 8