diff options
Diffstat (limited to 'src/scripts/examples/cryptobox.py')
-rwxr-xr-x | src/scripts/examples/cryptobox.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/scripts/examples/cryptobox.py b/src/scripts/examples/cryptobox.py new file mode 100755 index 000000000..f76ed6bc3 --- /dev/null +++ b/src/scripts/examples/cryptobox.py @@ -0,0 +1,36 @@ +#!/usr/bin/python + +import sys +import botan + +def main(args = None): + if args is None: + args = sys.argv + + if len(args) != 3: + raise Exception("Usage: <password> <input>"); + + password = args[1] + input = ''.join(open(args[2]).readlines()) + + rng = botan.RandomNumberGenerator() + + ciphertext = botan.cryptobox_encrypt(input, password, rng) + + print ciphertext + + plaintext = '' + + try: + plaintext = botan.cryptobox_decrypt(ciphertext, password + 'FAIL') + except Exception, e: + print "Good news: bad password caused exception: " + print e + + plaintext = botan.cryptobox_decrypt(ciphertext, password) + + print "Original input was: " + print plaintext + +if __name__ == '__main__': + sys.exit(main()) |