All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.app.cash.jooq.JooqKeyPrimitive.kt Maven / Gradle / Ivy

Go to download

A library that provides application layer encryption of database columns using the jOOQ ORM

The newest version!
package app.cash.jooq

/**
 * This interface defines the functions required to encrypt and decrypt a column's value
 * with a specific key name.
 *
 * The key name is expected to be the fully qualified name of the column being encrypted/decrypted.
 */
interface JooqKeyPrimitive {

  /**
   * Encrypt the given [data] with an encryption key named [columnName].
   *
   * If there was no key associated/named with the given column name,
   * **this function is expected to return the original unmodified data**.
   */
  fun encrypt(columnName: String, data: ByteArray, context: ByteArray = byteArrayOf()): ByteArray

  /**
   * Decrypt the given [data] with the encryption key named [columnName].
   *
   * If there was no key associated/named with the given column name,
   * **this function is expected to return the original unmodified data**.
   */
  fun decrypt(columnName: String, data: ByteArray, context: ByteArray = byteArrayOf()): ByteArray
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy