Шифрование полей при использовании JetBrains Exposed - PullRequest
0 голосов
/ 01 ноября 2018

Есть ли простой способ добавить функциональность зашифрованных полей в базу данных JetBrains Exposed для Kotlin?

https://github.com/JetBrains/Exposed

1 Ответ

0 голосов
/ 14 ноября 2018

Выведите тип столбца SecureVarchar из VarCharColumnType и используйте этот тип в таблице.

класс SecureVarCharColumnType (val l: Int = 255, c: String? = Null): VarCharColumnType (l, c) {

override fun valueToDB(value: Any?): Any? = value?.let {
    return notNullValueToDB(Crypto.encrypt(it.toString()));
}

override fun valueFromDB(value: Any): Any {
    return Crypto.decrypt(value.toString())
}

}

объект Users: IntIdTable ("user") { val email = super.registerColumn ("email", SecureVarCharColumnType (255)) ..... }

...