trait Encryption[A] extends AnyRef
Typeclass trait to deal with Encryption for Strings. The encoding of the Strings is dependent on the concrete implementation of this trait.
It is general in nature, but has only been tested with JCA AES128CTR.
- A
the cipher algorithm.
- Alphabetic
- By Inheritance
- Encryption
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def buildKey(raw: String): IO[SecretKey[A]]
Build a key from the given String.
Build a key from the given String.
- raw
a String of the required length (typically the result of calling genRawKey).
- returns
an IO of SecretKey[A]
- abstract def bytesToCipherText(bytes: Array[Byte]): IO[CipherText[A]]
THe inverse of concat.
THe inverse of concat.
- bytes
the byte array.
- returns
an IO of CipherText[A].
- abstract def concat(cipher: CipherText[A]): IO[Array[Byte]]
Show the given cipher text as a an array of bytes.
Show the given cipher text as a an array of bytes.
- cipher
an instance of CipherText[A].
- returns
an IO of Array[Byte].
- abstract def decrypt(key: SecretKey[A])(cipher: CipherText[A]): IO[String]
Decrypt the given cipher text.
Decrypt the given cipher text.
- key
the key with which to decrypt the cipher text.
- cipher
an instance of CipherText[A].
- returns
an IO of String.
- abstract def encrypt(key: SecretKey[A])(plaintext: String): IO[CipherText[A]]
Encrypt a plain text String.
Encrypt a plain text String.
- key
the key with which to encrypt the plain text.
- plaintext
the plain text to encrypt.
- returns
an IO of CipherText[A].
- abstract def genRawKey: IO[String]
Generate a random String of the required length.
Generate a random String of the required length.
- returns
an IO of String.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)