salty 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
+ gem 'pbkdf2', '>=0.1.0'
5
6
 
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -8,6 +8,7 @@ GEM
8
8
  rake
9
9
  rdoc
10
10
  json (1.6.5)
11
+ pbkdf2 (0.1.0)
11
12
  rake (0.9.2.2)
12
13
  rcov (0.9.11)
13
14
  rdoc (3.12)
@@ -24,6 +25,7 @@ PLATFORMS
24
25
  DEPENDENCIES
25
26
  bundler (~> 1.0.0)
26
27
  jeweler (~> 1.8.3)
28
+ pbkdf2 (>= 0.1.0)
27
29
  rcov
28
30
  rdoc (~> 3.12)
29
31
  shoulda
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.1.0
data/lib/salty.rb CHANGED
@@ -1,25 +1,17 @@
1
- require 'digest/sha1'
1
+ require 'pbkdf2'
2
2
 
3
3
  module Salty
4
4
 
5
5
  SALT_LENGTH=30
6
6
  ALPHA = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a
7
7
 
8
- def Salty.hash_fn(str)
9
- sha512 = Digest::SHA2.new(512)
10
- sha512.hexdigest(str)
11
- end
12
-
13
8
  def Salty.generate_salt
14
9
  (1..SALT_LENGTH).map{ALPHA.sample}.join
15
10
  end
16
11
 
17
12
  def Salty.salted_hash(str,salt)
18
- res = str
19
- 100.times do
20
- res = hash_fn(res+salt)
21
- end
22
- res
13
+ pbkdf2 = PBKDF2.new(:password => str, :salt => salt, :iterations => 1000)
14
+ pbkdf2.hex_string
23
15
  end
24
16
 
25
17
  def Salty.hash(str)
data/salty.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{salty}
8
- s.version = "0.0.7"
8
+ s.version = "0.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Alec Benzer}]
12
- s.date = %q{2012-03-24}
12
+ s.date = %q{2012-04-07}
13
13
  s.description = %q{stupid little gem for salted hashing}
14
14
  s.email = %q{alecbenzer@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -39,12 +39,14 @@ Gem::Specification.new do |s|
39
39
  s.specification_version = 3
40
40
 
41
41
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_runtime_dependency(%q<pbkdf2>, [">= 0.1.0"])
42
43
  s.add_development_dependency(%q<shoulda>, [">= 0"])
43
44
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
44
45
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
46
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
46
47
  s.add_development_dependency(%q<rcov>, [">= 0"])
47
48
  else
49
+ s.add_dependency(%q<pbkdf2>, [">= 0.1.0"])
48
50
  s.add_dependency(%q<shoulda>, [">= 0"])
49
51
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
50
52
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -52,6 +54,7 @@ Gem::Specification.new do |s|
52
54
  s.add_dependency(%q<rcov>, [">= 0"])
53
55
  end
54
56
  else
57
+ s.add_dependency(%q<pbkdf2>, [">= 0.1.0"])
55
58
  s.add_dependency(%q<shoulda>, [">= 0"])
56
59
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
57
60
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
data/test/test_salty.rb CHANGED
@@ -7,7 +7,7 @@ end
7
7
  class TestSalty < Test::Unit::TestCase
8
8
  context "test salt" do
9
9
  should "hash equality" do
10
- 10.times do
10
+ 100.times do
11
11
  str = random_string
12
12
 
13
13
  hashed = Salty.hash(str)
@@ -16,7 +16,7 @@ class TestSalty < Test::Unit::TestCase
16
16
  end
17
17
 
18
18
  should "hash inequaliy" do
19
- 10.times do
19
+ 100.times do
20
20
  str = random_string
21
21
  hashed = Salty.hash(str)
22
22
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-24 00:00:00.000000000Z
12
+ date: 2012-04-07 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: pbkdf2
16
+ requirement: &15435400 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *15435400
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: shoulda
16
- requirement: &14423040 !ruby/object:Gem::Requirement
27
+ requirement: &15433280 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,10 +32,10 @@ dependencies:
21
32
  version: '0'
22
33
  type: :development
23
34
  prerelease: false
24
- version_requirements: *14423040
35
+ version_requirements: *15433280
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: rdoc
27
- requirement: &14735680 !ruby/object:Gem::Requirement
38
+ requirement: &15432060 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ~>
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: '3.12'
33
44
  type: :development
34
45
  prerelease: false
35
- version_requirements: *14735680
46
+ version_requirements: *15432060
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: bundler
38
- requirement: &15074500 !ruby/object:Gem::Requirement
49
+ requirement: &15430800 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ~>
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: 1.0.0
44
55
  type: :development
45
56
  prerelease: false
46
- version_requirements: *15074500
57
+ version_requirements: *15430800
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: jeweler
49
- requirement: &15158700 !ruby/object:Gem::Requirement
60
+ requirement: &15395180 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 1.8.3
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *15158700
68
+ version_requirements: *15395180
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: rcov
60
- requirement: &15240260 !ruby/object:Gem::Requirement
71
+ requirement: &15394300 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: '0'
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *15240260
79
+ version_requirements: *15394300
69
80
  description: stupid little gem for salted hashing
70
81
  email: alecbenzer@gmail.com
71
82
  executables: []
@@ -100,7 +111,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
111
  version: '0'
101
112
  segments:
102
113
  - 0
103
- hash: -1670934301516923058
114
+ hash: 3964256037231511286
104
115
  required_rubygems_version: !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements: