summaryrefslogtreecommitdiffstats
path: root/lang/python/python-pynacl/test.sh
blob: 883960904854636edf60fe6067968da3cc5eea62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh

[ "$1" = python3-pynacl ] || exit 0

python3 - << 'EOF'
import nacl.secret
import nacl.utils
import nacl.public

# Secret-key encryption (SecretBox)
key = nacl.utils.random(nacl.secret.SecretBox.KEY_SIZE)
box = nacl.secret.SecretBox(key)
message = b"secret message"
encrypted = box.encrypt(message)
decrypted = box.decrypt(encrypted)
assert decrypted == message

# Public-key encryption (Box)
alice_priv = nacl.public.PrivateKey.generate()
bob_priv = nacl.public.PrivateKey.generate()
alice_box = nacl.public.Box(alice_priv, bob_priv.public_key)
bob_box = nacl.public.Box(bob_priv, alice_priv.public_key)

msg = b"hello bob"
enc = alice_box.encrypt(msg)
dec = bob_box.decrypt(enc)
assert dec == msg
EOF