bcrypt-ruby 2.1.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bcrypt-ruby might be problematic. Click here for more details.

@@ -0,0 +1,67 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
2
+
3
+ describe "Creating a hashed password" do
4
+
5
+ before :each do
6
+ @secret = "wheedle"
7
+ @password = BCrypt::Password.create(@secret, :cost => 4)
8
+ end
9
+
10
+ specify "should return a BCrypt::Password" do
11
+ @password.should be_an_instance_of(BCrypt::Password)
12
+ end
13
+
14
+ specify "should return a valid bcrypt password" do
15
+ lambda { BCrypt::Password.new(@password) }.should_not raise_error
16
+ end
17
+
18
+ specify "should behave normally if the secret is not a string" do
19
+ lambda { BCrypt::Password.create(nil) }.should_not raise_error(BCrypt::Errors::InvalidSecret)
20
+ lambda { BCrypt::Password.create({:woo => "yeah"}) }.should_not raise_error(BCrypt::Errors::InvalidSecret)
21
+ lambda { BCrypt::Password.create(false) }.should_not raise_error(BCrypt::Errors::InvalidSecret)
22
+ end
23
+
24
+ specify "should tolerate empty string secrets" do
25
+ lambda { BCrypt::Password.create( "\n".chop ) }.should_not raise_error
26
+ lambda { BCrypt::Password.create( "" ) }.should_not raise_error
27
+ lambda { BCrypt::Password.create( String.new ) }.should_not raise_error
28
+ end
29
+ end
30
+
31
+ describe "Reading a hashed password" do
32
+ before :each do
33
+ @secret = "U*U"
34
+ @hash = "$2a$05$CCCCCCCCCCCCCCCCCCCCC.E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW"
35
+ end
36
+
37
+ specify "should read the version, cost, salt, and hash" do
38
+ password = BCrypt::Password.new(@hash)
39
+ password.version.should eql("2a")
40
+ password.cost.should equal(5)
41
+ password.salt.should eql("$2a$05$CCCCCCCCCCCCCCCCCCCCC.")
42
+ password.salt.class.should == String
43
+ password.checksum.should eq("E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW")
44
+ password.checksum.class.should == String
45
+ password.to_s.should eql(@hash)
46
+ end
47
+
48
+ specify "should raise an InvalidHashError when given an invalid hash" do
49
+ lambda { BCrypt::Password.new('weedle') }.should raise_error(BCrypt::Errors::InvalidHash)
50
+ end
51
+ end
52
+
53
+ describe "Comparing a hashed password with a secret" do
54
+ before :each do
55
+ @secret = "U*U"
56
+ @hash = "$2a$05$CCCCCCCCCCCCCCCCCCCCC.E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW"
57
+ @password = BCrypt::Password.create(@secret)
58
+ end
59
+
60
+ specify "should compare successfully to the original secret" do
61
+ (@password == @secret).should be(true)
62
+ end
63
+
64
+ specify "should compare unsuccessfully to anything besides original secret" do
65
+ (@password == "@secret").should be(false)
66
+ end
67
+ end
@@ -0,0 +1,2 @@
1
+ $:.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'bcrypt'
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bcrypt-ruby
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 2
7
+ - 1
8
+ - 3
9
+ version: 2.1.3
10
+ platform: x86-mingw32
11
+ authors:
12
+ - Coda Hale
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-12-20 00:00:00 -08:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rake-compiler
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: rspec
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :development
43
+ version_requirements: *id002
44
+ description: " bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project\n for hashing passwords. bcrypt-ruby provides a simple, humane wrapper for safely handling\n passwords.\n"
45
+ email: coda.hale@gmail.com
46
+ executables: []
47
+
48
+ extensions: []
49
+
50
+ extra_rdoc_files:
51
+ - README
52
+ - COPYING
53
+ - CHANGELOG
54
+ - lib/bcrypt.rb
55
+ files:
56
+ - .gitignore
57
+ - .rspec
58
+ - CHANGELOG
59
+ - COPYING
60
+ - Gemfile
61
+ - README
62
+ - Rakefile
63
+ - bcrypt-ruby.gemspec
64
+ - ext/jruby/bcrypt_jruby/BCrypt.java
65
+ - ext/mri/bcrypt.c
66
+ - ext/mri/bcrypt.h
67
+ - ext/mri/bcrypt_ext.c
68
+ - ext/mri/blf.h
69
+ - ext/mri/blowfish.c
70
+ - ext/mri/extconf.rb
71
+ - lib/bcrypt.rb
72
+ - spec/TestBCrypt.java
73
+ - spec/bcrypt/engine_spec.rb
74
+ - spec/bcrypt/password_spec.rb
75
+ - spec/spec_helper.rb
76
+ - lib/1.8/bcrypt_ext.so
77
+ - lib/1.9/bcrypt_ext.so
78
+ - lib/bcrypt_ext.rb
79
+ has_rdoc: true
80
+ homepage: http://bcrypt-ruby.rubyforge.org
81
+ licenses: []
82
+
83
+ post_install_message:
84
+ rdoc_options:
85
+ - --title
86
+ - bcrypt-ruby
87
+ - --line-numbers
88
+ - --inline-source
89
+ - --main
90
+ - README
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ segments:
98
+ - 0
99
+ version: "0"
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ requirements: []
108
+
109
+ rubyforge_project: bcrypt-ruby
110
+ rubygems_version: 1.3.6
111
+ signing_key:
112
+ specification_version: 3
113
+ summary: OpenBSD's bcrypt() password hashing algorithm.
114
+ test_files: []
115
+