是Perl CGI的新手,使用ActivePerl,sqlite DB,Apache服务器和Windows.
我有一个输入表单,其中包括Id,Name,Password等字段
上.每当有人创建新条目时,无论他们输入密码
应加密并存储在数据库中的字段.
我有一个输入表单,其中包括Id,Name,Password等字段
上.每当有人创建新条目时,无论他们输入密码
应加密并存储在数据库中的字段.
解决方法
最初设置用户时调用make_crypto_hash,参数是给定的密码.将函数返回值存储在数据库中.
sub make_crypto_hash { my ($passphrase) = @_; return Authen::Passphrase::BlowfishCrypt->new( cost => 8,salt_random => 1,passphrase => $passphrase,)->as_rfc2307; }
当有人登录并且您想要查看密码是否属于该用户时,请调用match_passphrase_against_crypto_hash.参数是您从数据库中检索给定用户名的加密哈希值,以及用户刚刚给出的密码短语.返回值是布尔值.
sub match_passphrase_against_crypto_hash { my ($crypto_hash,$passphrase) = @_; return Authen::Passphrase::BlowfishCrypt ->from_rfc2307($crypto_hash)->match($passphrase); }