Mechanisms for encrypting and decrypting data
To utilise this library add this to your sbt build file
"com.cjww-dev.libs" % "data-security_2.11" % "2.7.0"
encryptType
Takes a parameter of type T and an implicit Json Writes[T] and returns an encrypted String.
Example
case class ExampleCaseClass(str: String, int: Int)
implicit val writer = Json.writes[ExampleCaseClass]
val encString: String = DataSecurity.encryptType[ExampleCaseClass](ExampleCaseClass("exp", 616))decryptIntoType
Takes an encrypted String parameter and an implicit Json Reads[T] and returns a T.
Example
case class ExampleCaseClass(str: String, int: Int)
implicit val writer = Json.reads[ExampleCaseClass]
val string: ExampleCaseClass = DataSecurity.decryptIntoType[ExampleCaseClass]("ENCRYPTED_STRING")encryptString
Takes a String parameter and returns an encrypted String.
Example
val string: String = DataSecurity.encryptString("string")decryptString
Takes an encrypted String parameter and returns a String.
Example
val string: String = DataSecurity.decryptString("ENCRYPTED_STRING")Unlike DataSecurity the function in SHA512 in not reversible.
encrypt
Takes a String parameter and returns an encrypted String.
Example
val string: String = SHA512.encrypt("string")Add this config to your conf/application.conf file in your scala play project.
microservice {
data-security {
key = ""
salt = ""
}
}This code is open source software licensed under the Apache 2.0 License