blob: 5eabb0d41a37c219ba43005cbbd057d65465434a [file] [log] [blame] [view]
# Python example: working with cleartext keysets
This example shows how to generate or load a cleartext keyset, obtain a
primitive, and use the primitive to do crypto.
WARNING: this is not recommended, consider protecting your keysets with a key
management system.
## Build and run
### Bazel
```shell
$ git clone https://github.com/google/tink
$ cd tink/python/examples
$ bazel build ...
```
You can generate a cleartext keyset:
```shell
$ ./bazel-bin/cleartext_keyset/cleartext_keyset_cli --mode generate \
--keyset_path aes128_gcm_test_keyset.json
```
You can then encrypt a file with the resulting keyset:
```shell
$ echo "some data" > testdata.txt
$ ./bazel-bin/cleartext_keyset/cleartext_keyset_cli --mode encrypt \
--keyset_path aes128_gcm_test_keyset.json \
--input_path testdata.txt --output_path testdata.txt.encrypted
```
Or decrypt a file with:
```shell
$ ./bazel-bin/cleartext_keyset/cleartext_keyset_cli --mode decrypt \
--keyset_path aes128_gcm_test_keyset.json \
--input_path testdata.txt.encrypted --output_path testdata.txt.decrypted
$ diff testdata.txt testdata.txt.decrypted
```