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 ADDED
@@ -0,0 +1,13 @@
1
+ = Usage of Library
2
+
3
+ This library gives you the md5 sum of a file in question.
4
+
5
+ == Requiring it:
6
+
7
+ require 'md5sum'
8
+
9
+ == Using it in a project:
10
+
11
+ _ = Md5sum.new(ARGV, false)
12
+ _.reverse_md5 '61c12f4e84dc393aaa4849db9b78aa84'
13
+ _.run
data/lib/md5sum.rb ADDED
@@ -0,0 +1,5 @@
1
+ # To load the whole of MD5SUM, do:
2
+ # require 'md5sum'
3
+ $: << File.dirname(__FILE__)
4
+
5
+ require 'md5sum/md5sum.rb'
@@ -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
+