sixarm_ruby_password_hash 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- ������7.c���X����!Vw��_�/YN�
1
+ 7�K�}<ś�=�L�Y� �B���֟4W&-���fm �"��Iƣq(�@�"|}z*�;g4#E,m
File without changes
@@ -0,0 +1,107 @@
1
+ # SixArm.com » Ruby » <br> PasswordHash class to generate secure SHA256 passwords
2
+
3
+ * Docs: <http://sixarm.com/sixarm_ruby_password_hash/doc>
4
+ * Repo: <http://github.com/sixarm/sixarm_ruby_password_hash>
5
+ * Email: Joel Parker Henderson, <joel@sixarm.com>
6
+
7
+
8
+ ## Introduction
9
+
10
+ Password hash tool to create secure passwords,
11
+
12
+ This uses SHA256 hexdigest for the cryptographic hash,
13
+ and authenticates a password, salt, and hash.
14
+
15
+ For docs go to <http://sixarm.com/sixarm_ruby_password_hash/doc>
16
+
17
+ Want to help? We're happy to get pull requests.
18
+
19
+
20
+ ## Quickstart
21
+
22
+ Install:
23
+
24
+ gem install sixarm_ruby_password_hash
25
+
26
+ Bundler:
27
+
28
+ gem "sixarm_ruby_password_hash", "=1.3.0"
29
+
30
+ Require:
31
+
32
+ require "sixarm_ruby_password_hash"
33
+
34
+
35
+ ## High Security (Optional)
36
+
37
+ To enable high security for all our gems:
38
+
39
+ wget http://sixarm.com/sixarm.pem
40
+ gem cert --add sixarm.pem
41
+ gem sources --add http://sixarm.com
42
+
43
+ To install with high security:
44
+
45
+ gem install sixarm_ruby_password_hash --test --trust-policy HighSecurity
46
+
47
+
48
+ ## Examples
49
+
50
+ To create a password:
51
+
52
+ require "sixarm_ruby_password_hash"
53
+ text = "mysecret"
54
+ salt = "azsxdcfv"
55
+ hash = PasswordHash.new(text,salt)
56
+
57
+ To create a password using our helpers:
58
+
59
+ require "sixarm_ruby_password_hash"
60
+ require "sixarm_ruby_password_salt"
61
+ require "sixarm_ruby_password_text"
62
+ text = PasswordText.new
63
+ salt = PasswordSalt.new
64
+ hash = PasswordHash.new(text,salt)
65
+
66
+ To verify a password:
67
+
68
+ hash.valid?(text,salt)
69
+
70
+ To verify a password from a web form for a user:
71
+
72
+ user = User.find(params[:id]) or raise "user not found"
73
+ user.hash.valid?(params[:password],user.salt)
74
+
75
+
76
+ ## Changes
77
+
78
+ * 2012-03-16 1.3.0 Upgrade for Ruby 1.9.3, minitest/spec, and improved docs.
79
+
80
+
81
+ ## License
82
+
83
+ You may choose any of these open source licenses:
84
+
85
+ * Apache License
86
+ * BSD License
87
+ * CreativeCommons License, Non-commercial Share Alike
88
+ * GNU General Public License Version 2 (GPL 2)
89
+ * GNU Lesser General Public License (LGPL)
90
+ * MIT License
91
+ * Perl Artistic License
92
+ * Ruby License
93
+
94
+ The software is provided "as is", without warranty of any kind,
95
+ express or implied, including but not limited to the warranties of
96
+ merchantability, fitness for a particular purpose and noninfringement.
97
+
98
+ In no event shall the authors or copyright holders be liable for any
99
+ claim, damages or other liability, whether in an action of contract,
100
+ tort or otherwise, arising from, out of or in connection with the
101
+ software or the use or other dealings in the software.
102
+
103
+ This license is for the included software that is created by SixArm;
104
+ some of the included software may have its own licenses, copyrights,
105
+ authors, etc. and these do take precedence over the SixArm license.
106
+
107
+ Copyright (c) 2005-2012 Joel Parker Henderson
@@ -0,0 +1,8 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'rake'
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new(:test) do |t|
6
+ t.libs << 'lib' << 'test'
7
+ t.pattern = 'test/*.rb'
8
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.2.1
@@ -1,38 +1,6 @@
1
+ # -*- coding: utf-8 -*-
1
2
  =begin rdoc
2
-
3
- = SixArm Ruby Gem: Password Hash to do secure SHA256 passwords.
4
-
5
- Author:: Joel Parker Henderson, joelparkerhenderson@gmail.com
6
- Copyright:: Copyright (c) 2006-2010 Joel Parker Henderson
7
- License:: CreativeCommons License, Non-commercial Share Alike
8
- License:: LGPL, GNU Lesser General Public License
9
-
10
- Password hash tool to create secure passwords,
11
-
12
- This uses SHA256 hexdigest for the cryptographic hash,
13
- and authenticates a password, salt, and hash.
14
-
15
- To create a password:
16
- require 'sixarm_ruby_password_hash'
17
- text = 'mysecret'
18
- salt = 'azsxdcfv'
19
- hash = PasswordHash.new(text,salt)
20
-
21
- To create a password using our helpers:
22
- require 'sixarm_ruby_password_hash'
23
- require 'sixarm_ruby_password_salt'
24
- require 'sixarm_ruby_password_text'
25
- text = PasswordText.new
26
- salt = PasswordSalt.new
27
- hash = PasswordHash.new(text,salt)
28
-
29
- To verify a password:
30
- hash.valid?(text,salt)
31
-
32
- To verify a password from a web form for a user:
33
- user = User.find(params[:id]) or raise 'user not found'
34
- user.hash.valid?(params[:password],user.salt)
35
-
3
+ Please see README
36
4
  =end
37
5
 
38
6
  require 'digest/sha2'
@@ -1,24 +1,35 @@
1
- require 'test/unit'
1
+ # -*- coding: utf-8 -*-
2
+ require 'minitest/autorun'
3
+ require 'simplecov'
4
+ SimpleCov.start
2
5
  require 'sixarm_ruby_password_hash'
3
6
 
4
- class Testing < Test::Unit::TestCase
7
+ describe PasswordHash do
5
8
 
6
- def test_new
7
- p = PasswordHash.new('foo','bar')
8
- assert_not_nil(p,"p")
9
- assert(p.is_a?(String),"p is a string")
10
- end
9
+ before do
10
+ P ||= PasswordHash.new('foo','bar')
11
+ end
11
12
 
12
- def test_valid
13
- p = PasswordHash.new('foo','bar')
14
- assert(p.valid?('foo','bar'), "p.valid? foo bar")
15
- end
13
+ describe ".new" do
16
14
 
17
- def test_invalid
18
- p = PasswordHash.new('foo','bar')
19
- assert(!p.valid?('foo','xxx'), "p.valid? foo xxx")
20
- assert(!p.valid?('xxx','bar'), "p.valid? xxx bar")
21
- end
15
+ it "=> String" do
16
+ P.must_be_kind_of String
17
+ end
18
+
19
+ end
20
+
21
+ describe "#valid?" do
22
+
23
+ it "right args => true" do
24
+ assert(P.valid?('foo','bar'), "p.valid? foo bar")
25
+ end
26
+
27
+ it "wrong args => false" do
28
+ refute(P.valid?('foo','xxx'), "p.valid? foo xxx")
29
+ refute(P.valid?('xxx','bar'), "p.valid? xxx bar")
30
+ end
31
+
32
+ end
22
33
 
23
34
  end
24
35
 
metadata CHANGED
@@ -1,87 +1,79 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sixarm_ruby_password_hash
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 2
8
- - 1
9
- version: 1.2.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - SixArm
13
9
  autorequire:
14
10
  bindir: bin
15
- cert_chain:
16
- - |
17
- -----BEGIN CERTIFICATE-----
18
- MIIDBDCCAm2gAwIBAgIJAKPwEETU5bHoMA0GCSqGSIb3DQEBBQUAMGAxCzAJBgNV
19
- BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
20
- c2NvMQ8wDQYDVQQKEwZTaXhBcm0xEzARBgNVBAMTCnNpeGFybS5jb20wHhcNMTAx
21
- MjEzMjMyNzEzWhcNMTMwOTA4MjMyNzEzWjBgMQswCQYDVQQGEwJVUzETMBEGA1UE
22
- CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEPMA0GA1UEChMG
23
- U2l4QXJtMRMwEQYDVQQDEwpzaXhhcm0uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
24
- ADCBiQKBgQC94mD9JDwBsunsOI0VR3CXXbOWg9cWaWciwFyJNFiM7A9I8KPLfXUw
25
- QC4czUe5ZuG4WHvinrWhkrCK+1dWBqoEClxdF/FoKO5a+tonGCjjmfy81JmFjjyx
26
- eTsjsHyvw+Qik9kpf9aj6+pnkNrVswgNHVea2o9yabbEiS6VSeJWoQIDAQABo4HF
27
- MIHCMB0GA1UdDgQWBBQzPJtqmSgc53eDN7aSzDQwr9TALDCBkgYDVR0jBIGKMIGH
28
- gBQzPJtqmSgc53eDN7aSzDQwr9TALKFkpGIwYDELMAkGA1UEBhMCVVMxEzARBgNV
29
- BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xDzANBgNVBAoT
30
- BlNpeEFybTETMBEGA1UEAxMKc2l4YXJtLmNvbYIJAKPwEETU5bHoMAwGA1UdEwQF
31
- MAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAooEexP/oPam1TP71SyuhxMb+uTrZbSQe
32
- jVB+ExRwWadGwaNPUA56d39qwavwP+iu+3JpeonNMVvbWXF5naCX/dNFIeREHzER
33
- ZDRQYMqru9TEMna6HD9zpcstF7vwThGovlOQ+3Y6plQ4nMzipXcZ9THqs65PIL0q
34
- eabwpCbAopo=
35
- -----END CERTIFICATE-----
36
-
37
- date: 2010-12-13 00:00:00 -08:00
38
- default_executable:
11
+ cert_chain:
12
+ - !binary |-
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQW0yZ0F3SUJB
14
+ Z0lKQUtQd0VFVFU1YkhvTUEwR0NTcUdTSWIzRFFFQkJRVUFNR0F4Q3pBSkJn
15
+ TlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB
16
+ WURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVE4d0RRWURWUVFLRXdaVGFY
17
+ aEJjbTB4RXpBUkJnTlZCQU1UQ25OcGVHRnliUzVqYjIwd0hoY05NVEF4Ck1q
18
+ RXpNak15TnpFeldoY05NVE13T1RBNE1qTXlOekV6V2pCZ01Rc3dDUVlEVlFR
19
+ R0V3SlZVekVUTUJFR0ExVUUKQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFV
20
+ RUJ4TU5VMkZ1SUVaeVlXNWphWE5qYnpFUE1BMEdBMVVFQ2hNRwpVMmw0UVhK
21
+ dE1STXdFUVlEVlFRREV3cHphWGhoY20wdVkyOXRNSUdmTUEwR0NTcUdTSWIz
22
+ RFFFQkFRVUFBNEdOCkFEQ0JpUUtCZ1FDOTRtRDlKRHdCc3Vuc09JMFZSM0NY
23
+ WGJPV2c5Y1dhV2Npd0Z5Sk5GaU03QTlJOEtQTGZYVXcKUUM0Y3pVZTVadUc0
24
+ V0h2aW5yV2hrckNLKzFkV0Jxb0VDbHhkRi9Gb0tPNWErdG9uR0Nqam1meTgx
25
+ Sm1Gamp5eAplVHNqc0h5dncrUWlrOWtwZjlhajYrcG5rTnJWc3dnTkhWZWEy
26
+ bzl5YWJiRWlTNlZTZUpXb1FJREFRQUJvNEhGCk1JSENNQjBHQTFVZERnUVdC
27
+ QlF6UEp0cW1TZ2M1M2VETjdhU3pEUXdyOVRBTERDQmtnWURWUjBqQklHS01J
28
+ R0gKZ0JRelBKdHFtU2djNTNlRE43YVN6RFF3cjlUQUxLRmtwR0l3WURFTE1B
29
+ a0dBMVVFQmhNQ1ZWTXhFekFSQmdOVgpCQWdUQ2tOaGJHbG1iM0p1YVdFeEZq
30
+ QVVCZ05WQkFjVERWTmhiaUJHY21GdVkybHpZMjh4RHpBTkJnTlZCQW9UCkJs
31
+ TnBlRUZ5YlRFVE1CRUdBMVVFQXhNS2MybDRZWEp0TG1OdmJZSUpBS1B3RUVU
32
+ VTViSG9NQXdHQTFVZEV3UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFB
33
+ RGdZRUFvb0VleFAvb1BhbTFUUDcxU3l1aHhNYit1VHJaYlNRZQpqVkIrRXhS
34
+ d1dhZEd3YU5QVUE1NmQzOXF3YXZ3UCtpdSszSnBlb25OTVZ2YldYRjVuYUNY
35
+ L2RORkllUkVIekVSClpEUlFZTXFydTlURU1uYTZIRDl6cGNzdEY3dndUaEdv
36
+ dmxPUSszWTZwbFE0bk16aXBYY1o5VEhxczY1UElMMHEKZWFid3BDYkFvcG89
37
+ Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
38
+ date: 2012-03-16 00:00:00.000000000 Z
39
39
  dependencies: []
40
-
41
40
  description:
42
41
  email: sixarm@sixarm.com
43
42
  executables: []
44
-
45
43
  extensions: []
46
-
47
44
  extra_rdoc_files: []
48
-
49
- files:
50
- - README.rdoc
51
- - LICENSE.txt
45
+ files:
46
+ - .gemtest
47
+ - Rakefile
48
+ - README.md
49
+ - VERSION
52
50
  - lib/sixarm_ruby_password_hash.rb
53
51
  - test/sixarm_ruby_password_hash_test.rb
54
- has_rdoc: true
55
52
  homepage: http://sixarm.com/
56
53
  licenses: []
57
-
58
54
  post_install_message:
59
55
  rdoc_options: []
60
-
61
- require_paths:
56
+ require_paths:
62
57
  - lib
63
- required_ruby_version: !ruby/object:Gem::Requirement
58
+ required_ruby_version: !ruby/object:Gem::Requirement
64
59
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- segments:
69
- - 0
70
- version: "0"
71
- required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
65
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- segments:
77
- - 0
78
- version: "0"
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
79
70
  requirements: []
80
-
81
71
  rubyforge_project:
82
- rubygems_version: 1.3.7
72
+ rubygems_version: 1.8.11
83
73
  signing_key:
84
74
  specification_version: 3
85
- summary: "SixArm Ruby Gem: PasswordHash class for secure password hashing with plain text and random salt"
86
- test_files:
75
+ summary: SixArm.com » Ruby » PasswordHash class for secure password hashing with plain
76
+ text and random salt
77
+ test_files:
87
78
  - test/sixarm_ruby_password_hash_test.rb
79
+ has_rdoc: true
metadata.gz.sig CHANGED
Binary file
@@ -1,12 +0,0 @@
1
- LICENSE
2
-
3
- You may choose any of these licenses:
4
-
5
- - CreativeCommons License, Non-commercial Share Alike
6
- - LGPL, GNU Lesser General Public License
7
- - MIT License
8
- - Ruby License
9
-
10
- THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
11
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
12
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -1,34 +0,0 @@
1
-
2
- = SixArm Ruby Gem: Password Hash to do secure SHA256 passwords.
3
-
4
- Author:: Joel Parker Henderson, joelparkerhenderson@gmail.com
5
- Copyright:: Copyright (c) 2006-2010 Joel Parker Henderson
6
- License:: CreativeCommons License, Non-commercial Share Alike
7
- License:: LGPL, GNU Lesser General Public License
8
-
9
- Password hash tool to create secure passwords,
10
-
11
- This uses SHA256 hexdigest for the cryptographic hash,
12
- and authenticates a password, salt, and hash.
13
-
14
- To create a password:
15
- require 'sixarm_ruby_password_hash'
16
- text = 'mysecret'
17
- salt = 'azsxdcfv'
18
- hash = PasswordHash.new(text,salt)
19
-
20
- To create a password using our helpers:
21
- require 'sixarm_ruby_password_hash'
22
- require 'sixarm_ruby_password_salt'
23
- require 'sixarm_ruby_password_text'
24
- text = PasswordText.new
25
- salt = PasswordSalt.new
26
- hash = PasswordHash.new(text,salt)
27
-
28
- To verify a password:
29
- hash.valid?(text,salt)
30
-
31
- To verify a password from a web form for a user:
32
- user = User.find(params[:id]) or raise 'user not found'
33
- user.hash.valid?(params[:password],user.salt)
34
-