package Hash::PassPhrase; use Moose; use MooseX::Invertible_Build; has passPhrase => ( isa => Str ); has salt => ( isa => Str ); has hash => ( isa => Str, invertible_build => { A => 'salt', B => 'passPhrase', via => 'crypt( A, B )', }, );