データベースと対話するために、dbix::class とCatalyst を使用しています。ただし、保存しているデータの一部は機密であるため、データベースに入る (挿入または更新される) 前に暗号化し、出てくる (選択される) ときに復号化したいと考えています。そして、このモジュールを使用する方法を知ってDBIx::Class::PassphraseColumn
います。スキーマファイルにこれを含めることで、パスワードをデータベースに入れるときに自動的にパスワードを暗号化できます。
__PACKAGE__->add_columns(
'+password' => {
passphrase => 'rfc2307',
passphrase_class => 'BlowfishCrypt',
passphrase_args => {
cost => 14,
salt_random => 20,
},
passphrase_check_method => 'check_password',
}
);
パスワードを更新するときはいつでも、暗号化について心配する必要がないように、DBIx が自動的にそれを行います。値を列に挿入または更新するたびに暗号化し、選択するたびに復号化されるのと同様の方法はありますか? または、データを操作する機会を与える挿入または更新の前、または選択の後に呼び出されるメソッドを追加する方法はありますか? ありがとう!