pwdhash 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/pwdhash +0 -0
- data/lib/pwdhash/pwdhash.rb +2 -2
- data/lib/pwdhash/version.rb +1 -1
- data/pwdhash.gemspec +5 -2
- data/pwdhash_test.rb +14 -14
- metadata +17 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 427e3e28c618e4b9405b6dab18615412a7cb07db
|
4
|
+
data.tar.gz: 6afd5799c1710c3e897b85d75fa565a94178d971
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbd3d19a80660da0e29bcfca0826b2e243a102d794f44821ba89b441dee726b7716c522cdfb4f009e376a8fa181ae2cb64ef661a8f52b19169e213c0f1783ccc
|
7
|
+
data.tar.gz: cc1d04b403a9c5da3316e82b0b0d3fbb0fa67f2839ec67455e97d02c353adf7fab2ef0f8579de6f931ce2cb5bd43047b18d2876dc9cf2f69d45be8a3ca750a55
|
data/bin/pwdhash
CHANGED
File without changes
|
data/lib/pwdhash/pwdhash.rb
CHANGED
@@ -28,7 +28,7 @@ end
|
|
28
28
|
def apply_constraints(hash, size, nonalphanumeric)
|
29
29
|
startingSize = size - 4 # Leave room for some extra characters
|
30
30
|
result = hash[0, startingSize]
|
31
|
-
extras = hash[startingSize, hash.length].split('')
|
31
|
+
extras = (hash[startingSize, hash.length] || "").split('')
|
32
32
|
|
33
33
|
# Add the extra characters
|
34
34
|
result += (contains(result, /[A-Z]/) ? next_extra_character(extras) : next_between('A', 26, extras))
|
@@ -65,7 +65,7 @@ module PwdHash
|
|
65
65
|
end
|
66
66
|
private
|
67
67
|
def hash!
|
68
|
-
@hash = Base64.encode64(HMAC::MD5.digest(@password, @realm))
|
68
|
+
@hash = Base64.encode64(HMAC::MD5.digest(@password, @realm)).strip
|
69
69
|
end
|
70
70
|
def remove_base64_pad_character
|
71
71
|
@hash.sub!(/=+$/, '')
|
data/lib/pwdhash/version.rb
CHANGED
data/pwdhash.gemspec
CHANGED
@@ -7,6 +7,9 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.description = "Command line version of Stanford PwdHash"
|
8
8
|
gem.summary = "Command line version of Stanford PwdHash"
|
9
9
|
|
10
|
+
gem.licenses = ['GPL-3.0']
|
11
|
+
gem.homepage = 'https://github.com/kizzx2/pwdhash.rb'
|
12
|
+
|
10
13
|
gem.test_files = ['pwdhash_test.rb']
|
11
14
|
|
12
15
|
gem.files = `git ls-files`.split($\)
|
@@ -16,6 +19,6 @@ Gem::Specification.new do |gem|
|
|
16
19
|
gem.require_paths = ["lib"]
|
17
20
|
gem.version = PwdHash::VERSION
|
18
21
|
|
19
|
-
gem.add_dependency('highline', '>= 1.6.12')
|
20
|
-
gem.add_dependency('ruby-hmac', '>= 0.4.0')
|
22
|
+
gem.add_dependency('highline', '~> 1.6', '>= 1.6.12')
|
23
|
+
gem.add_dependency('ruby-hmac', '~> 0.4', '>= 0.4.0')
|
21
24
|
end
|
data/pwdhash_test.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'minitest/unit'
|
2
|
+
require 'minitest/pride'
|
3
|
+
require 'minitest/autorun'
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
def test_should_hash_password_and_domain
|
7
|
-
expected = '0AMstxYHYz'
|
8
|
-
actual = get_hashed_password('password', 'realm')
|
9
|
-
assert_equal expected, actual
|
10
|
-
end
|
5
|
+
require './lib/pwdhash/pwdhash'
|
11
6
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
7
|
+
class PwdHashTest < MiniTest::Unit::TestCase
|
8
|
+
def test_passwords
|
9
|
+
[
|
10
|
+
['v0F0B', 'foo', 'skype.com'],
|
11
|
+
['paZTVGZwtewiq1+uCk', 'a l0ng p4assw0rd', 'google.com'],
|
12
|
+
['nRDL7WNyFODhF29gAkNmpA', 'qwertyuiop0987654321', 'google.com'],
|
13
|
+
['edi6wHWRQVA1rK8o9zaluwAAAA', 'qwertyuiop0987654321bingo', 'google.com'],
|
14
|
+
].each do |expected, password, realm|
|
15
|
+
assert_equal expected, get_hashed_password(password, realm)
|
16
|
+
end
|
16
17
|
end
|
17
|
-
|
18
18
|
end
|
metadata
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwdhash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Yuen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
17
20
|
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: 1.6.12
|
@@ -21,6 +24,9 @@ dependencies:
|
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.6'
|
24
30
|
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
32
|
version: 1.6.12
|
@@ -28,6 +34,9 @@ dependencies:
|
|
28
34
|
name: ruby-hmac
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.4'
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
33
42
|
version: 0.4.0
|
@@ -35,6 +44,9 @@ dependencies:
|
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.4'
|
38
50
|
- - ">="
|
39
51
|
- !ruby/object:Gem::Version
|
40
52
|
version: 0.4.0
|
@@ -57,8 +69,9 @@ files:
|
|
57
69
|
- lib/pwdhash/version.rb
|
58
70
|
- pwdhash.gemspec
|
59
71
|
- pwdhash_test.rb
|
60
|
-
homepage:
|
61
|
-
licenses:
|
72
|
+
homepage: https://github.com/kizzx2/pwdhash.rb
|
73
|
+
licenses:
|
74
|
+
- GPL-3.0
|
62
75
|
metadata: {}
|
63
76
|
post_install_message:
|
64
77
|
rdoc_options: []
|