tree: 55fdbea02fe18e4c81a4c56206876a6c28cf8712 [path history] [tgz]
  1. aes128_gcm_test_keyset_json.txt
  2. BUILD.bazel
  3. cmake_build_test.sh
  4. CMakeLists.txt
  5. CMakeLists_for_CMakeBuildTest.txt
  6. hello_world.cc
  7. hello_world_test.sh
  8. README.md
examples/cc/helloworld/README.md

C++ Hello World

This is a command-line tool that can encrypt and decrypt small files using AEAD (Authenticated Encryption with Associated Data).

It demonstrates the basic steps of using Tink, namely loading key material, obtaining a primitive, and using the primitive to do crypto.

Build and Run

Bazel

git clone https://github.com/google/tink
cd tink
bazel build ...
echo "some plaintext" > foo.txt
./bazel-bin/examples/helloworld/cc/hello_world ./examples/helloworld/cc/aes128_gcm_test_keyset_json.txt\
    encrypt foo.txt "some aad" bar.encrypted
./bazel-bin/examples/helloworld/cc/hello_world ./examples/helloworld/cc/aes128_gcm_test_keyset_json.txt\
    decrypt bar.encrypted "some aad" foo-decrypted.txt
cat foo-decrypted.txt