Giter Club home page Giter Club logo

digest-bcrypt's People

Contributors

loonypandora avatar

Stargazers

 avatar  avatar

Watchers

 avatar

digest-bcrypt's Issues

Switch to modern bcrypt implementation

This module is currently using Crypt::Eksblowfish::Bcrypt which is essentially unmaintained for the past decade. In particular, the rest of the world upgraded to the 2b variety of bcrypt back in 2014.

I've recently released Crypt::Bcrypt, which does support modern varieties of bcrypt.

Upgrading to 1.208 breaks the module

On Ubuntu 14.04 LTS, we have one server using 1.207 and that works fine. Our same code on a different server with version 1.208 of Digest::Bcrypt fails with this error:
"Salt must be exactly 16 octets long"

The code has been used for months without any issue. Downgrading back to 1.207 makes the code work again without throwing any error.

Data::Entropy::Algorithms::rand_bits(128) is used to generate the salt. The code is verified to be correct. There is an issue in version 1.208 of the module.

Allow module attributes to be set in the constructor

An issue from the original repository:

"Any chance you could take a hashref to new, allowing us to specify cost (and possibly other options)?
The next trick would be picking a 'default' cost to use in Digest.pm."

New cost requirement can break existing clients

The new minimum cost of 5 associated with Crypt::Bcrypt breaks clients that assume they can pass a cost < 5, for example Dancer2::Plugin::Passphrase, whose default is a cost of 4.

I'm not familiar enough with Bcrypt to know for sure, but maybe it's possible to silently (or with a warning) pin an out-of-range cost to the acceptable input range.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.