私が理解できない簡単な質問(Googleやドキュメントのどこにもありません-おそらくそれは明白ですが、私にはわかりません)。Playでslickを使用しています!Framework 2.1と私は、機密性の高いユーザー情報をデータベースに保存したいと考えています。データが保存されるたびに(そして、で構築されている場合はメモリ内にcase class
)データを暗号化し、必要になるたびにデータを復号化したいです。データはOAuthaccess_token
です。
これが私の(簡略化された)コードです:
case class User(id: Option[Int] = None,
name: String,
email: String,
oauthToken: Option[String] = None)
オブジェクト:
object Users extends Table[User]("User") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def email = column[String]("email")
def oauthToken = column[String]("oauthToken", O.Nullable)
def * = id.? ~
name ~
email ~
oauthToken.? <> (User, User.unapply _)
}
私がやりたいのは、ケースクラスが構築されるoauthToken
たびに暗号化することです。と呼ばれるUser
たびにそれを復号化します。user.oauthToken
今のところ、私の最善の推測は、のゲッターとセッターを変更することですがoauthToken
、私が知る限り、Scalaでは実際にそれを行うことはできません(Slickへの影響は言うまでもありません)。
フィールドで暗号化/復号化を取得するにはどうすればよいですか?
前に感謝します。