md5sum 1.0.0
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/USAGE.rdoc +13 -0
- data/lib/md5sum.rb +5 -0
- data/lib/md5sum/md5sum.rb +91 -0
- data/md5sum.gemspec +36 -0
- metadata +68 -0
data/USAGE.rdoc
ADDED
data/lib/md5sum.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
#!/System/Executables/ruby -w
|
2
|
+
# Encoding: ASCII-8BIT
|
3
|
+
# ====================================================================== #
|
4
|
+
# require 'md5sum'
|
5
|
+
# ====================================================================== #
|
6
|
+
require 'digest/md5'
|
7
|
+
|
8
|
+
class Md5sum
|
9
|
+
|
10
|
+
N = "\n"
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === initialize
|
14
|
+
# ========================================================================= #
|
15
|
+
def initialize(
|
16
|
+
input = ARGV,
|
17
|
+
run_already = true
|
18
|
+
)
|
19
|
+
set_input(input)
|
20
|
+
run_it if run_already
|
21
|
+
end
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === set_input
|
25
|
+
# ========================================================================= #
|
26
|
+
def set_input(i)
|
27
|
+
@input = i.to_s.dup # Assign to input.
|
28
|
+
end
|
29
|
+
|
30
|
+
# ========================================================================= #
|
31
|
+
# === run_it
|
32
|
+
# Will return the md5sum.
|
33
|
+
# ========================================================================= #
|
34
|
+
def run_it(shall_we_show_the_result = true)
|
35
|
+
set_result
|
36
|
+
show_result if shall_we_show_the_result
|
37
|
+
end; alias run run_it # Run tag.
|
38
|
+
|
39
|
+
# ========================================================================= #
|
40
|
+
# === show_result
|
41
|
+
# ========================================================================= #
|
42
|
+
def show_result
|
43
|
+
e @result unless @input.nil? # must pass 1 arg
|
44
|
+
end
|
45
|
+
|
46
|
+
# ========================================================================= #
|
47
|
+
# === return_md5sum
|
48
|
+
# Example results:
|
49
|
+
# 1897a33110ebfee800fb9562711cac02
|
50
|
+
# ========================================================================= #
|
51
|
+
def return_md5sum(input)
|
52
|
+
if input.is_a? Array
|
53
|
+
input.each { |file|
|
54
|
+
digest = Digest::MD5.hexdigest(File.read(file))
|
55
|
+
return digest
|
56
|
+
}
|
57
|
+
else
|
58
|
+
return Digest::MD5.hexdigest(File.read(input))
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# ========================================================================= #
|
63
|
+
# === reverse_md5
|
64
|
+
# This reverses a md5 hash, by using making use of the Digest module.
|
65
|
+
# reverse_md5 '5f4dcc3b5aa765d61d8327deb882cf99'
|
66
|
+
# ========================================================================= #
|
67
|
+
def reverse_md5(md5hash = '5f4dcc3b5aa765d61d8327deb882cf99')
|
68
|
+
require 'digest/md5reverse'
|
69
|
+
reverse_hexdigest = Digest::MD5Reverse.to_reverse_hexdigest(md5hash)
|
70
|
+
e N+"\tmd5hash word [#{reverse_hexdigest}] "+N # md5hash word [password]
|
71
|
+
end
|
72
|
+
|
73
|
+
# ========================================================================= #
|
74
|
+
# === set_result
|
75
|
+
# ========================================================================= #
|
76
|
+
def set_result
|
77
|
+
@result = return_md5sum(@input)
|
78
|
+
end
|
79
|
+
|
80
|
+
alias e puts
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
if __FILE__ == $PROGRAM_NAME
|
85
|
+
_ = Md5sum.new(ARGV, false)
|
86
|
+
# _.run_it
|
87
|
+
_.reverse_md5 '61c12f4e84dc393aaa4849db9b78aa84'
|
88
|
+
_.run
|
89
|
+
end
|
90
|
+
# $RUBY_TOOLS/md5sum.rb RamonDekkersHightlight.avi
|
91
|
+
# $RUBY_TOOLS/md5sum.rb
|
data/md5sum.gemspec
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# Gemspec for Project Md5sum.
|
3
|
+
# =========================================================================== #
|
4
|
+
|
5
|
+
Gem::Specification.new { |s|
|
6
|
+
|
7
|
+
s.name = 'md5sum'
|
8
|
+
s.version = '1.0.0'
|
9
|
+
s.date = '2012-07-19'
|
10
|
+
|
11
|
+
s.summary = <<-EOF
|
12
|
+
|
13
|
+
This gem
|
14
|
+
If you have specific suggestions to make this gem more useful
|
15
|
+
for others, please drop me an email at:
|
16
|
+
shevegen@gmail.com.
|
17
|
+
Thank you.
|
18
|
+
|
19
|
+
EOF
|
20
|
+
|
21
|
+
s.description = <<-EOF
|
22
|
+
A simple symbol to foo library.
|
23
|
+
EOF
|
24
|
+
|
25
|
+
s.extra_rdoc_files = [
|
26
|
+
"USAGE.rdoc"
|
27
|
+
]
|
28
|
+
|
29
|
+
s.authors = ['Markus Heiler']
|
30
|
+
s.email = 'shevegen@gmail.com'
|
31
|
+
s.files = Dir.glob('**/*')
|
32
|
+
s.homepage = 'http://rubygems.org/gems/md5sum'
|
33
|
+
s.rubygems_version = '1.8.24'
|
34
|
+
# s.add_dependency 'libxml' # add dependencies here.
|
35
|
+
|
36
|
+
}
|
metadata
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: md5sum
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Markus Heiler
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-07-19 00:00:00 Z
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: " A simple symbol to foo library.\n"
|
22
|
+
email: shevegen@gmail.com
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files:
|
28
|
+
- USAGE.rdoc
|
29
|
+
files:
|
30
|
+
- lib/md5sum/md5sum.rb
|
31
|
+
- lib/md5sum.rb
|
32
|
+
- USAGE.rdoc
|
33
|
+
- md5sum.gemspec
|
34
|
+
homepage: http://rubygems.org/gems/md5sum
|
35
|
+
licenses: []
|
36
|
+
|
37
|
+
post_install_message:
|
38
|
+
rdoc_options: []
|
39
|
+
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
hash: 3
|
48
|
+
segments:
|
49
|
+
- 0
|
50
|
+
version: "0"
|
51
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
requirements: []
|
61
|
+
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 1.8.24
|
64
|
+
signing_key:
|
65
|
+
specification_version: 3
|
66
|
+
summary: "This gem If you have specific suggestions to make this gem more useful for others, please drop me an email at: shevegen@gmail.com. Thank you."
|
67
|
+
test_files: []
|
68
|
+
|