私は持っている:
case class One(someParam: String) {
private val _defaultTimeout = readFromConfig("defaultTimeout")
val timeout: Timeout = akka.util.Timeout(_defaultTimeout seconds)
val info: Option[Info] = Await.result(someSmartService.getInformationForSomething(someParam)), timeout.duration)
}
一部の機密データを隠す (暗号化する) サービスを構築しています。私はそのような方法でそれをやっています:
def encrypt(oldOne: One): One = {
val encryptedSomeParam = EncryptService.getHash(oldOne.someParam)
val encryptedInfo = encryptInfo(oldOne.info)
// what to do with that? ^^
one.copy(someParam = encryptedSomeParam)
}
また、クラス 1 のこの「info」フィールド内のデータを暗号化する必要があります。問題は、それが val であり、val の値を再割り当てできないことです。それを行う簡単な方法はありますか?今のところ、var に変更することを考えていますが、最善の方法ではないと思います。また、次のように最初からこの値に暗号化されたデータを書き込むことはできません。
val info: Option[Info] = EncryptionService.encrypt(someSmartService.getInformationForSomething(someParam))
このフィールドは、フィールドを暗号化しない必要がある他の場所で使用されるためです。オブジェクトをデータベースに永続化する前に、機密データを暗号化したい。
何か案は?
前もって感謝します!
編集:これは悪い設計のように見えることを知っているので、誰かがそれを処理するより良いアイデアを持っているなら、私はあなたからの連絡を楽しみにしています:)