diff options
Diffstat (limited to 'src/main/scala/com/drivergrp/core/crypto.scala')
-rw-r--r-- | src/main/scala/com/drivergrp/core/crypto.scala | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/scala/com/drivergrp/core/crypto.scala b/src/main/scala/com/drivergrp/core/crypto.scala new file mode 100644 index 0000000..2910260 --- /dev/null +++ b/src/main/scala/com/drivergrp/core/crypto.scala @@ -0,0 +1,23 @@ +package com.drivergrp.core + +object crypto { + + final case class Macaroon(value: String) + + final case class Base64[T](value: String) + + final case class AuthToken(value: Base64[Macaroon]) + + final case class EncryptionKey(value: String) + + final case class DecryptionKey(value: String) + + trait Crypto { + + def keyForToken(authToken: AuthToken): EncryptionKey + + def encrypt(encryptionKey: EncryptionKey)(message: Array[Byte]): Array[Byte] + + def decrypt(decryptionKey: EncryptionKey)(message: Array[Byte]): Array[Byte] + } +} |