| # Java Streaming AEAD example | |
| This example shows how to encrypt files with Tink using Streaming Authenticated | |
| Encryption with Associated Data (Streaming AEAD). | |
| It demonstrates the basic steps of using Tink, namely loading key material, | |
| obtaining a primitive, and using the primitive to do crypto. | |
| The key material was generated with Tinkey: | |
| ```shell | |
| tinkey create-keyset --key-template AES128_GCM_HKDF_4KB --out-format JSON \ | |
| --out streaming_aead_test_keyset.json | |
| ``` | |
| ## Build and Run | |
| ### Bazel | |
| ```shell | |
| git clone https://github.com/google/tink | |
| cd tink/examples/java_src | |
| bazel build ... | |
| ``` | |
| Encrypt a file: | |
| ```shell | |
| echo "some data" > testdata.txt | |
| ./bazel-bin/streamingaead/streamingaead_example encrypt \ | |
| ./streamingaead/streaming_aead_test_keyset.json \ | |
| testdata.txt testdata.txt.encrypted | |
| ``` | |
| Decrypt a file: | |
| ```shell | |
| ./bazel-bin/streamingaead/streamingaead_example decrypt \ | |
| ./streamingaead/streaming_aead_test_keyset.json \ | |
| testdata.txt.encrypted testdata.txt.decrypted | |
| diff testdata.txt testdata.txt.decrypted | |
| ``` |