dev-random-passwords 0.1.0 → 0.1.4
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.
- checksums.yaml +4 -4
- data/lib/dev-random-passwords.rb +53 -29
- data/lib/dev-random-passwords/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e8810ba253d09244991432b1fd01ea4a60ff1e7
|
4
|
+
data.tar.gz: 0941d50a538e70d5c03b694be44360e29ba3cb62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ccd06e3eb1947c0b3c7198f2a3be27e8bc40d60ddc921b1426ce92ad211f304e77f9328d0b263b90d653621dcd6c4b80783e548e829a5eba3132af4f32edfb5
|
7
|
+
data.tar.gz: 29f02179bfcddc821ef88fc9f49651d66881cc9b1c945fbdd86401c3bf93d9f2905623a60ef6c18e0ddbb378788b34e51fd088324d42219a0264d3a331e2b181
|
data/lib/dev-random-passwords.rb
CHANGED
@@ -138,35 +138,46 @@ module DevRandomPasswords
|
|
138
138
|
|
139
139
|
def get_byte
|
140
140
|
if @hardware_random == true
|
141
|
-
|
142
|
-
if
|
143
|
-
|
144
|
-
random_file = File.new('/dev/hwrng', 'r')
|
145
|
-
random_byte = random_file.read(1).ord
|
146
|
-
random_file.close
|
147
|
-
if random_byte
|
148
|
-
return random_byte
|
149
|
-
end
|
150
|
-
else
|
151
|
-
raise "/dev/hwrng #{NOT_READABLE_ERROR}"
|
152
|
-
end
|
141
|
+
hw_byte = read_byte_from_hw
|
142
|
+
if hw_byte
|
143
|
+
return hw_byte
|
153
144
|
end
|
145
|
+
end
|
154
146
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
147
|
+
random_byte = read_byte_from_dev_random
|
148
|
+
if random_byte
|
149
|
+
return random_byte
|
150
|
+
end
|
151
|
+
|
152
|
+
random_byte = read_byte_from_dev_urandom
|
153
|
+
if random_byte
|
154
|
+
return random_byte
|
155
|
+
else
|
156
|
+
raise "Could not find a random number generator on your system"
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def read_byte_from_dev_urandom
|
161
|
+
if File.exist?('/dev/urandom')
|
162
|
+
if File.readable?('/dev/urandom')
|
163
|
+
random_file = File.new('/dev/urandom', 'r')
|
164
|
+
random_byte = random_file.read(1).ord
|
165
|
+
random_file.close
|
166
|
+
if random_byte
|
167
|
+
return random_byte
|
165
168
|
end
|
169
|
+
else
|
170
|
+
raise "/dev/urandom #{NOT_READABLE_ERROR}"
|
166
171
|
end
|
167
|
-
|
168
172
|
end
|
173
|
+
end
|
169
174
|
|
175
|
+
def read_byte_from_dev_random
|
176
|
+
if File.exist?('/proc/sys/kernel/random/entropy_avail')
|
177
|
+
if `cat /proc/sys/kernel/random/entropy_avail`.chomp.to_i < 64
|
178
|
+
return read_byte_from_dev_urandom
|
179
|
+
end
|
180
|
+
end
|
170
181
|
if File.exist?('/dev/random')
|
171
182
|
if File.readable?('/dev/random')
|
172
183
|
random_file = File.new('/dev/random', 'r')
|
@@ -178,21 +189,34 @@ module DevRandomPasswords
|
|
178
189
|
else
|
179
190
|
raise "/dev/random #{NOT_READABLE_ERROR}"
|
180
191
|
end
|
192
|
+
end
|
193
|
+
end
|
181
194
|
|
182
|
-
|
183
|
-
|
184
|
-
|
195
|
+
def read_byte_from_hw
|
196
|
+
if File.exist?('/dev/hwrng')
|
197
|
+
if File.readable?('/dev/hwrng')
|
198
|
+
random_file = File.new('/dev/hwrng', 'r')
|
185
199
|
random_byte = random_file.read(1).ord
|
186
200
|
random_file.close
|
187
201
|
if random_byte
|
188
202
|
return random_byte
|
189
203
|
end
|
190
204
|
else
|
191
|
-
raise "/dev/
|
205
|
+
raise "/dev/hwrng #{NOT_READABLE_ERROR}"
|
192
206
|
end
|
207
|
+
end
|
193
208
|
|
194
|
-
|
195
|
-
|
209
|
+
if File.exist?('/dev/hwrandom')
|
210
|
+
if File.readable?('/dev/hwrandom')
|
211
|
+
random_file = File.new('/dev/hwrandom', 'r')
|
212
|
+
random_byte = random_file.read(1).ord
|
213
|
+
random_file.close
|
214
|
+
if random_byte
|
215
|
+
return random_byte
|
216
|
+
end
|
217
|
+
else
|
218
|
+
raise "/dev/hwrandom #{NOT_READABLE_ERROR}"
|
219
|
+
end
|
196
220
|
end
|
197
221
|
end
|
198
222
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev-random-passwords
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|