aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/crypto.scala
diff options
context:
space:
mode:
authorvlad <vlad@drivergrp.com>2016-10-21 16:07:05 -0400
committervlad <vlad@drivergrp.com>2016-10-21 16:07:05 -0400
commit02810f5eac3b4ce6a5d1128281a01b2a2ed0647c (patch)
treea733b421759216a7f12d227d2f912eecdfa842aa /src/main/scala/xyz/driver/core/crypto.scala
parent7c77f5ff23e4b0f8d5e189492bc4f25f847adc00 (diff)
downloaddriver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.gz
driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.tar.bz2
driver-core-02810f5eac3b4ce6a5d1128281a01b2a2ed0647c.zip
Renamed package to xyz, New formatting, authorize directive supporting multiple permissions
Diffstat (limited to 'src/main/scala/xyz/driver/core/crypto.scala')
-rw-r--r--src/main/scala/xyz/driver/core/crypto.scala27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/crypto.scala b/src/main/scala/xyz/driver/core/crypto.scala
new file mode 100644
index 0000000..d001e0f
--- /dev/null
+++ b/src/main/scala/xyz/driver/core/crypto.scala
@@ -0,0 +1,27 @@
+package xyz.driver.core
+
+import xyz.driver.core.auth.AuthToken
+
+object crypto {
+
+ 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]
+ }
+
+ object NoCrypto extends Crypto {
+
+ override def keyForToken(authToken: AuthToken): EncryptionKey = EncryptionKey(authToken.value.value)
+
+ override def decrypt(decryptionKey: EncryptionKey)(message: Array[Byte]): Array[Byte] = message
+ override def encrypt(encryptionKey: EncryptionKey)(message: Array[Byte]): Array[Byte] = message
+ }
+}