我正在使用 dbix::class 和催化剂与我的数据库进行交互。但是,我存储的一些数据是敏感的,所以我想在它进入数据库之前加密(插入或更新)并在它出来时解密(选择)。我知道如何使用这个模块: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 会为您完成。是否有一种类似的方式,每当我在列中插入或更新一个值时,它会为我加密它,而每当我选择它时,它会为我解密?或者,也许有一种方法可以添加在插入或更新之前或在选择之后调用的方法,让您有机会操作数据?谢谢!