Encrypt
Gradle
// other setup ...
repositories {
maven { url "https://dl.bintray.com/codehelixinc/slatekit" }
}
dependencies {
// other libraries
// slatekit-common: Utilities for Android or Server
compile 'com.slatekit:slatekit-common:0.9.35'
}
Import
// required
import slatekit.common.encrypt.Encryptor
import slatekit.common.utils.B64Java8
// optional
import slatekit.cmds.Command
import slatekit.cmds.CommandRequest
import slatekit.results.Try
import slatekit.results.Success
Setup
// SETUP 1: Create your singleton encryptor that can encrypt/decrypt using your custom key/secret.
// and use it as a singleton.
object TestEncryptor : Encryptor("wejklhviuxywehjk", "3214maslkdf03292", B64Java8)
// SETUP 2: Create an instance encryptor
val encryptor = Encryptor("wejklhviuxywehjk", "3214maslkdf03292", B64Java8)
Usage
// CASE 1: Encrypt using AES ( text is base64 encoded without newlines )
val input = "basMoAKSKDFJrd789"
val encrypted = TestEncryptor.encrypt(input)
println(encrypted)
// CASE 2: Decrypt using AES
val decrypted = TestEncryptor.decrypt(encrypted)
println(decrypted)
// CASE 3: Ensure decrypted matches original
println(input == decrypted)
// CASE 4: Use the EncryptSupportIn trait to have built in encrypt/decrypt methods
// NOTE: You just have to have an _enc member field
println( encryptor.encrypt(input))
println( encryptor.decrypt(encrypted) )