@@ -11,32 +11,54 @@ class Program
11
11
[ STAThread ]
12
12
static void Main ( string [ ] args )
13
13
{
14
- #region Basic file- check
14
+ var bIsFile = false ;
15
+ var text = String . Empty ;
16
+
17
+ #region Basic checks...
15
18
16
19
if ( args . Length <= 0 )
17
20
{
18
- Console . WriteLine ( "You really need to specify a file!" ) ;
21
+ Console . WriteLine ( "You really need to specify a file/ string!" ) ;
22
+ PrintHelp ( ) ;
19
23
Environment . Exit ( 401 ) ;
20
24
}
21
25
26
+ if ( args [ 0 ] . StartsWith ( "--?" ) )
27
+ {
28
+ PrintHelp ( ) ;
29
+ Environment . Exit ( 40 ) ;
30
+ }
31
+
22
32
if ( ! File . Exists ( args [ 0 ] ) )
23
33
{
24
- Console . WriteLine ( "File not found!" ) ;
25
- Environment . Exit ( 404 ) ;
34
+ bIsFile = false ;
35
+ text = args [ 0 ] . StartsWith ( "@" ) ? args [ 0 ] . Substring ( 1 ) : args [ 0 ] ;
36
+ }
37
+
38
+ else
39
+ {
40
+ bIsFile = true ;
41
+
26
42
}
27
43
28
44
#endregion
29
45
30
46
31
- byte [ ] bHashBuffer ;
47
+ byte [ ] bHashBuffer = new byte [ 0 ] ;
32
48
33
49
using ( var md5 = MD5 . Create ( ) )
34
50
{
51
+ if ( bIsFile )
52
+ {
53
+ using ( var fs = File . OpenRead ( args [ 0 ] ) )
54
+ {
55
+ bHashBuffer = md5 . ComputeHash ( fs ) ;
56
+ }
57
+ }
35
58
36
- using ( var fs = File . OpenRead ( args [ 0 ] ) )
59
+ else
37
60
{
38
- bHashBuffer = new byte [ fs . Length ] ;
39
- bHashBuffer = md5 . ComputeHash ( fs ) ;
61
+ bHashBuffer = md5 . ComputeHash ( Encoding . UTF8 . GetBytes ( text ) ) ;
40
62
}
41
63
}
42
64
@@ -52,9 +74,42 @@ static void Main(string[] args)
52
74
if ( key . Key == ConsoleKey . Y )
53
75
{
54
76
Clipboard . SetText ( strComputedHash . ToString ( ) ) ;
55
- Console . WriteLine ( "Copied to Clipboard!" ) ;
77
+ Console . WriteLine ( "\n Copied to Clipboard!" ) ;
56
78
Console . WriteLine ( "" ) ;
57
79
}
58
80
}
81
+
82
+ static void PrintHelp ( )
83
+ {
84
+ const int iPosition = 30 ;
85
+
86
+ FillConsoleLineWithChar ( "-" ) ;
87
+ Console . Write ( "| --help" ) ;
88
+ Console . SetCursorPosition ( iPosition , Console . CursorTop ) ;
89
+ Console . Write ( "Prints helptext" ) ;
90
+ Console . SetCursorPosition ( Console . BufferWidth - 1 , Console . CursorTop ) ;
91
+ Console . Write ( "|" ) ;
92
+ FillConsoleLineWithChar ( "-" ) ;
93
+
94
+ Console . Write ( "| Generate md5sum of File:" ) ;
95
+ Console . SetCursorPosition ( iPosition , Console . CursorTop ) ;
96
+ Console . Write ( "[PATH_TO_FILE]" ) ;
97
+ Console . SetCursorPosition ( Console . BufferWidth - 1 , Console . CursorTop ) ;
98
+ Console . Write ( "|" ) ;
99
+ Console . Write ( "| Generate md5sum of text:" ) ;
100
+ Console . SetCursorPosition ( iPosition , Console . CursorTop ) ;
101
+ Console . Write ( "@[TEXT]" ) ;
102
+ Console . SetCursorPosition ( Console . BufferWidth - 1 , Console . CursorTop ) ;
103
+ Console . Write ( "|" ) ;
104
+ FillConsoleLineWithChar ( "-" ) ;
105
+ }
106
+
107
+ static void FillConsoleLineWithChar ( string character )
108
+ {
109
+ for ( var i = 0 ; i < Console . BufferWidth ; i ++ )
110
+ {
111
+ Console . Write ( character ) ;
112
+ }
113
+ }
59
114
}
60
115
}
0 commit comments