juil / scrypt Goto Github PK
View Code? Open in Web Editor NEWThis project forked from pbhogan/scrypt
A Ruby gem with native C extension for the scrypt password hashing algorithm.
Home Page: https://github.com/pbhogan/scrypt
License: Other
This project forked from pbhogan/scrypt
A Ruby gem with native C extension for the scrypt password hashing algorithm.
Home Page: https://github.com/pbhogan/scrypt
License: Other
= scrypt The scrypt key derivation function is designed to be far more secure against hardware brute-force attacks than alternative functions such as PBKDF2 or bcrypt. * http://www.tarsnap.com/scrypt.html * http://github.com/pbhogan/scrypt == Why you should use scrypt The designers of scrypt estimate that on modern (2009) hardware, if 5 seconds are spent computing a derived key, the cost of a hardware brute-force attack against scrypt is roughly 4000 times greater than the cost of a similar attack against bcrypt (to find the same password), and 20000 times greater than a similar attack against PBKDF2. == How to install scrypt gem install scrypt == How to use scrypt It works pretty similarly to ruby-bcrypt with a few minor differences, especially where the cost factor is concerned. include "scrypt" # hash a user's password @password = Password.create("my grand secret") @password #=> "2000$8$1$f5f2fa5fe5484a7091f1299768fbe92b5a7fbc77$6a385f22c54d92c314b71a4fd5ef33967c93d679" # store it safely @user.update_attribute(:password, @password) # read it back @user.reload! @db_password = Password.new(@user.password) # compare it after retrieval @db_password == "my grand secret" #=> true @db_password == "a paltry guess" #=> false Password.create takes three options which will determine the cost limits of the computation. * :max_time specifies the maximum number of seconds the computation should take. * :max_mem specifies the maximum number of bytes the computation should take. A value of 0 specifies no upper limit. The minimum is always 1 MB. * :max_memfrac specifies the maximum memory in a fraction of available resources to use. Any value equal to 0 or greater than 0.5 will result in 0.5 being used. Default options will result in calculation time of approx. 200 ms with 1 MB memory use.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.