blowfish 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.codeclimate.yml +2 -0
- data/.travis.yml +1 -0
- data/README.md +6 -0
- data/Rakefile +3 -0
- data/blowfish.gemspec +3 -0
- data/lib/blowfish/padding.rb +5 -4
- data/lib/blowfish/version.rb +1 -1
- metadata +56 -22
- checksums.yaml +0 -7
data/.codeclimate.yml
ADDED
data/.travis.yml
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
# Blowfish
|
|
2
|
+
[](https://travis-ci.org/n7v/blowfish)
|
|
3
|
+
[](http://badge.fury.io/rb/blowfish)
|
|
4
|
+
[](https://coveralls.io/github/n7v/blowfish?branch=master)
|
|
5
|
+
[](https://codeclimate.com/github/n7v/blowfish)
|
|
6
|
+
[](https://gemnasium.com/n7v/blowfish)
|
|
7
|
+
|
|
2
8
|
Pure-ruby implementation of the Blowfish cipher.
|
|
3
9
|
|
|
4
10
|
## Installation
|
data/Rakefile
CHANGED
data/blowfish.gemspec
CHANGED
|
@@ -19,10 +19,13 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
20
20
|
spec.require_paths = ['lib']
|
|
21
21
|
|
|
22
|
+
spec.required_ruby_version = '>= 1.9'
|
|
23
|
+
|
|
22
24
|
spec.add_development_dependency 'bundler', '~> 1.10'
|
|
23
25
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
24
26
|
spec.add_development_dependency 'pry', '~> 0.10'
|
|
25
27
|
spec.add_development_dependency 'rspec', '~> 3.3'
|
|
26
28
|
spec.add_development_dependency 'simplecov', '~> 0.10'
|
|
29
|
+
spec.add_development_dependency 'coveralls'
|
|
27
30
|
spec.add_development_dependency 'yard'
|
|
28
31
|
end
|
data/lib/blowfish/padding.rb
CHANGED
|
@@ -10,10 +10,10 @@ module Blowfish
|
|
|
10
10
|
fail UnknownPaddingModeError, 'Invalid padding mode'
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
l = 8 - (s.bytes.
|
|
13
|
+
l = 8 - (s.bytes.count % 8)
|
|
14
14
|
case mode
|
|
15
15
|
when :none
|
|
16
|
-
if s.bytes.
|
|
16
|
+
if s.bytes.count % 8 != 0
|
|
17
17
|
fail InvalidDataSizeError, 'Data size should be divisible by 8'
|
|
18
18
|
end
|
|
19
19
|
when :ansi_x923
|
|
@@ -26,7 +26,7 @@ module Blowfish
|
|
|
26
26
|
|
|
27
27
|
def self.unpad(s, mode = nil)
|
|
28
28
|
mode ||= :ansi_x923
|
|
29
|
-
sz = s.bytes.
|
|
29
|
+
sz = s.bytes.count
|
|
30
30
|
|
|
31
31
|
unless MODES.include?(mode)
|
|
32
32
|
fail UnknownPaddingModeError, 'Invalid padding mode'
|
|
@@ -36,7 +36,8 @@ module Blowfish
|
|
|
36
36
|
|
|
37
37
|
case mode
|
|
38
38
|
when :ansi_x923
|
|
39
|
-
|
|
39
|
+
last = s[-1].bytes.to_a[-1]
|
|
40
|
+
s = s.byteslice(0, sz - last)
|
|
40
41
|
when :spaces
|
|
41
42
|
s = s.byteslice(0, sz - 8) + s.byteslice(sz - 8, 8).rstrip
|
|
42
43
|
end
|
data/lib/blowfish/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blowfish
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
|
+
prerelease:
|
|
5
6
|
platform: ruby
|
|
6
7
|
authors:
|
|
7
8
|
- n7v
|
|
@@ -13,85 +14,113 @@ dependencies:
|
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: bundler
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
16
18
|
requirements:
|
|
17
|
-
- -
|
|
19
|
+
- - ~>
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
19
21
|
version: '1.10'
|
|
20
22
|
type: :development
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
23
26
|
requirements:
|
|
24
|
-
- -
|
|
27
|
+
- - ~>
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: '1.10'
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
|
28
31
|
name: rake
|
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
30
34
|
requirements:
|
|
31
|
-
- -
|
|
35
|
+
- - ~>
|
|
32
36
|
- !ruby/object:Gem::Version
|
|
33
37
|
version: '10.0'
|
|
34
38
|
type: :development
|
|
35
39
|
prerelease: false
|
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
37
42
|
requirements:
|
|
38
|
-
- -
|
|
43
|
+
- - ~>
|
|
39
44
|
- !ruby/object:Gem::Version
|
|
40
45
|
version: '10.0'
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
|
42
47
|
name: pry
|
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
44
50
|
requirements:
|
|
45
|
-
- -
|
|
51
|
+
- - ~>
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
53
|
version: '0.10'
|
|
48
54
|
type: :development
|
|
49
55
|
prerelease: false
|
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
51
58
|
requirements:
|
|
52
|
-
- -
|
|
59
|
+
- - ~>
|
|
53
60
|
- !ruby/object:Gem::Version
|
|
54
61
|
version: '0.10'
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
|
56
63
|
name: rspec
|
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
58
66
|
requirements:
|
|
59
|
-
- -
|
|
67
|
+
- - ~>
|
|
60
68
|
- !ruby/object:Gem::Version
|
|
61
69
|
version: '3.3'
|
|
62
70
|
type: :development
|
|
63
71
|
prerelease: false
|
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
65
74
|
requirements:
|
|
66
|
-
- -
|
|
75
|
+
- - ~>
|
|
67
76
|
- !ruby/object:Gem::Version
|
|
68
77
|
version: '3.3'
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
|
70
79
|
name: simplecov
|
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
72
82
|
requirements:
|
|
73
|
-
- -
|
|
83
|
+
- - ~>
|
|
74
84
|
- !ruby/object:Gem::Version
|
|
75
85
|
version: '0.10'
|
|
76
86
|
type: :development
|
|
77
87
|
prerelease: false
|
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
79
90
|
requirements:
|
|
80
|
-
- -
|
|
91
|
+
- - ~>
|
|
81
92
|
- !ruby/object:Gem::Version
|
|
82
93
|
version: '0.10'
|
|
94
|
+
- !ruby/object:Gem::Dependency
|
|
95
|
+
name: coveralls
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
none: false
|
|
98
|
+
requirements:
|
|
99
|
+
- - ! '>='
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: '0'
|
|
102
|
+
type: :development
|
|
103
|
+
prerelease: false
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ! '>='
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
83
110
|
- !ruby/object:Gem::Dependency
|
|
84
111
|
name: yard
|
|
85
112
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
none: false
|
|
86
114
|
requirements:
|
|
87
|
-
- -
|
|
115
|
+
- - ! '>='
|
|
88
116
|
- !ruby/object:Gem::Version
|
|
89
117
|
version: '0'
|
|
90
118
|
type: :development
|
|
91
119
|
prerelease: false
|
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
none: false
|
|
93
122
|
requirements:
|
|
94
|
-
- -
|
|
123
|
+
- - ! '>='
|
|
95
124
|
- !ruby/object:Gem::Version
|
|
96
125
|
version: '0'
|
|
97
126
|
description: Pure-ruby implementation of the Blowfish cipher.
|
|
@@ -101,9 +130,10 @@ executables: []
|
|
|
101
130
|
extensions: []
|
|
102
131
|
extra_rdoc_files: []
|
|
103
132
|
files:
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
133
|
+
- .codeclimate.yml
|
|
134
|
+
- .gitignore
|
|
135
|
+
- .rspec
|
|
136
|
+
- .travis.yml
|
|
107
137
|
- Gemfile
|
|
108
138
|
- LICENSE.txt
|
|
109
139
|
- README.md
|
|
@@ -121,26 +151,30 @@ files:
|
|
|
121
151
|
homepage: https://github.com/n7v/blowfish
|
|
122
152
|
licenses:
|
|
123
153
|
- MIT
|
|
124
|
-
metadata: {}
|
|
125
154
|
post_install_message:
|
|
126
155
|
rdoc_options: []
|
|
127
156
|
require_paths:
|
|
128
157
|
- lib
|
|
129
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
159
|
+
none: false
|
|
130
160
|
requirements:
|
|
131
|
-
- -
|
|
161
|
+
- - ! '>='
|
|
132
162
|
- !ruby/object:Gem::Version
|
|
133
|
-
version: '
|
|
163
|
+
version: '1.9'
|
|
134
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
|
+
none: false
|
|
135
166
|
requirements:
|
|
136
|
-
- -
|
|
167
|
+
- - ! '>='
|
|
137
168
|
- !ruby/object:Gem::Version
|
|
138
169
|
version: '0'
|
|
170
|
+
segments:
|
|
171
|
+
- 0
|
|
172
|
+
hash: 3575052159868078335
|
|
139
173
|
requirements: []
|
|
140
174
|
rubyforge_project:
|
|
141
|
-
rubygems_version:
|
|
175
|
+
rubygems_version: 1.8.25
|
|
142
176
|
signing_key:
|
|
143
|
-
specification_version:
|
|
177
|
+
specification_version: 3
|
|
144
178
|
summary: Pure-ruby implementation of the Blowfish cipher.
|
|
145
179
|
test_files: []
|
|
146
180
|
has_rdoc:
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA1:
|
|
3
|
-
metadata.gz: c9159717bb5b11c4cf3081c2b2d9c1d3058dfefc
|
|
4
|
-
data.tar.gz: 2fd3f764448f91062e861746835d26e495ad961c
|
|
5
|
-
SHA512:
|
|
6
|
-
metadata.gz: 7019f1daa7eea498765f6453bdeb4545c387d5ee59c5d3726b2ebb0225b3da7ec060f1241e9b6e40c7a9f6ee9275882c210e7d3e3c0bec8059733dc6d70960f3
|
|
7
|
-
data.tar.gz: 06816326f022aa9dfae1f9686ef55c13d816fb4a481bb9845ffa7e58ceb675dda6b72d7bca12532c25be85837b38418619154a0f91913b8c97533e2c6ed640fe
|