NAME

Mojolicious::Command::bcrypt - bcrypt a password using the settings in your Mojolicious app.

STATUS

SYNOPSIS

  Usage: myapp.pl bcrypt password [OPTIONS]

  NOTE: If no options are provided, the bcrypt helper installed on your app will
  be used to generate the crypted text. See Mojolicious::Plugin::BcryptSecure for more info.

  Options:
    -c, --cost           Uses this cost instead of the one used in your application. Must be an integer between 1 and 99. Default is 12.
    -nkn, --no-key-nul   Flag that specifies that NUL should not be appended to the password before using it as a key. Default is to append NUL.
                         If an empty password is provided, NUL must be appended and will be by Crypt::Eksblowfish::Bcrypt.
    -s, --salt           22 base 64 digits. Default is Crypt::Eksblowfish::Bcrypt::en_base64(Crypt::URandom::urandom(16))

  # output password with your app's bcrypt helper and settings
  ./myapp.pl bcrypt password

  # output password not using a bcrypt helper by providing custom settings
  ./myapp.pl bcrypt password --c 8
  ./myapp.pl bcrypt password --cost 8

  # do not append a NUL before the password (not recommended)
  ./myapp.pl bcrypt password --nkn
  ./myapp.pl bcrypt password --no-key-nul

  # provide your own salt
  ./myapp.pl bcrypt password --s YndOHub.EV9Y37VeobUeSu
  ./myapp.pl bcrypt password --salt YndOHub.EV9Y37VeobUeSu

  # combine options
  ./myapp.pl bcrypt password --c 8 --nkn --s YndOHub.EV9Y37VeobUeSu

DESCRIPTION

Mojolicious::Command::bcrypt allows you to crypt a password using bcrypt via a Mojolicious::Command.

If you are using a Mojolicious::Plugin like Mojolicious::Plugin::BcryptSecure or Mojolicious::Plugin::Bcrypt that installs a bcrypt helper, then this helper along with any settings you provided the plugin will be used to generate the crypted text:

  # crypt using bcrypt helper
  ./myapp.pl bcrypt password

If you provide any "OPTIONS", the bcrypt helper (if present) will be ignored, and crypted text will be generated from the provided "OPTIONS" and any defaults:

  ./myapp.pl bcrypt password --cost 8

COMMAND OPTIONS

--cost

A non-negative integer with at most two digits that controls the cost of the hash function. The number of operations is proportional to 2^cost. The default value is 12. This option is described more in Crypt::Eksblowfish::Bcrypt.

  ./myapp.pl bcrypt password --cost 8

  # short option
  ./myapp.pl bcrypt password --c 8

--no-key-nul

If present, a NUL is not appended to the password before it is used as a key. The default is to append a NUL and this flag is not recommended. This option is described more in Crypt::Eksblowfish::Bcrypt.

  ./myapp.pl bcrypt password --no-key-nul

  # short option
  ./myapp.pl bcrypt password --nkn

--salt

22 base 64 digits that will be used as the salt. The default is Crypt::Eksblowfish::Bcrypt::en_base64(Crypt::URandom::urandom(16)). This option is described more in Crypt::Eksblowfish::Bcrypt.

  ./myapp.pl bcrypt password --salt YndOHub.EV9Y37VeobUeSu

  # short option
  ./myapp.pl bcrypt password --s YndOHub.EV9Y37VeobUeSu

AUTHOR

Adam Hopkins <srchulo@cpan.org>

COPYRIGHT

Copyright 2019- Adam Hopkins

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO