password_crack 0.1.1 → 0.2.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.
- checksums.yaml +4 -4
- data/README.md +40 -4
- data/bin/password_crack +3 -3
- data/bin/password_is_week +41 -0
- data/lib/password_crack/version.rb +1 -1
- data/lib/password_crack.rb +41 -0
- data/password_crack.gemspec +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67187afcdbce88e22503272bf4b62cdcb4c6a9a3
|
4
|
+
data.tar.gz: 9dc934f9cc520151a5600dab1ffff527f3c4335a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f4feab52111994131c0a9b57d32d02d857506e18846ac64f06b899991578f17474816adbb9acd1b58bd68791822280a70de5c6a2ef12517aa66963e1d5f75f2
|
7
|
+
data.tar.gz: 78719e59d2623649440d46fd3ee9a90c733ff2e9fe78756d9135e7c4087f5033deb3900e45640d92e969b9b0f43d904b716e66ed32d725b336b3095039dd1ebd
|
data/README.md
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
# PasswordCrack
|
2
2
|
|
3
|
-
crack password by dicts
|
4
|
-
suppert single thread md5 crack now
|
5
|
-
|
3
|
+
crack password by dicts
|
6
4
|
all the dicts has created .This program will auto download the password dict which you specified.
|
7
5
|
|
8
6
|
example dict_name:week_password_sample
|
9
7
|
You could see all the dicts on: https://github.com/luaxlou/week_password/tree/master/dicts
|
10
8
|
|
9
|
+
## features
|
10
|
+
- single thread md5 crack
|
11
|
+
- check password is week
|
12
|
+
|
11
13
|
## Installation
|
12
14
|
|
13
15
|
Add this line to your application's Gemfile:
|
@@ -41,6 +43,24 @@ Or install it yourself as:
|
|
41
43
|
|
42
44
|
```
|
43
45
|
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
|
49
|
+
password = '12345679'
|
50
|
+
cracker = PasswordCrack::Cracker.new
|
51
|
+
|
52
|
+
expect('week_password_sample').to eq(cracker.check_is_week(password))
|
53
|
+
|
54
|
+
password = '1234569'
|
55
|
+
|
56
|
+
expect(nil).to eq(cracker.check_is_week(password))
|
57
|
+
|
58
|
+
password1 = '20140501'
|
59
|
+
|
60
|
+
expect('birthday').to eq(cracker.check_is_week(password1))
|
61
|
+
|
62
|
+
```
|
63
|
+
|
44
64
|
## Command Line Usage
|
45
65
|
|
46
66
|
```bash
|
@@ -60,9 +80,25 @@ $ password_crack e10adc3949ba59abbe56e057f20f883e
|
|
60
80
|
"crack success! result is:123456"
|
61
81
|
```
|
62
82
|
|
83
|
+
```bash
|
84
|
+
$ password_is_week
|
85
|
+
check passwrod is week
|
86
|
+
|
87
|
+
Usage:
|
88
|
+
password_is_week <password>
|
89
|
+
Example:
|
90
|
+
password_is_week 12345679
|
91
|
+
-h, --help Show this message
|
92
|
+
|
93
|
+
$ password_is_week 12345679
|
94
|
+
"passowrd(12345679) is week,found in dict <week_password_sample>"
|
95
|
+
$ password_is_week 1234569
|
96
|
+
"passowrd(1234569) is strong now,just now."
|
97
|
+
```
|
98
|
+
|
63
99
|
## Contributing
|
64
100
|
|
65
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/luaxlou/password_crack.
|
101
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/luaxlou/password_crack.
|
66
102
|
|
67
103
|
|
68
104
|
## License
|
data/bin/password_crack
CHANGED
@@ -20,16 +20,16 @@ crypted_password = ARGV[0]
|
|
20
20
|
|
21
21
|
opts = Trollop::options do
|
22
22
|
banner <<-EOS
|
23
|
-
|
23
|
+
crack passwrod by dicts
|
24
24
|
|
25
25
|
Usage:
|
26
26
|
#{program} <crypted_password> [options]
|
27
27
|
Example:
|
28
|
-
|
28
|
+
#{program} e10adc3949ba59abbe56e057f20f883e
|
29
29
|
where [options] are:
|
30
30
|
EOS
|
31
31
|
opt :dict, "dict name",:default=>'week_password_sample'
|
32
|
-
opt :crypt, "crypt type ",:default=>'md5'
|
32
|
+
opt :crypt, "crypt type : md5|none ",:default=>'md5'
|
33
33
|
end
|
34
34
|
|
35
35
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "bundler/setup"
|
3
|
+
require "password_crack"
|
4
|
+
require 'trollop'
|
5
|
+
|
6
|
+
program = 'password_is_week'
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
password = ARGV[0]
|
11
|
+
|
12
|
+
if !password
|
13
|
+
ARGV[0] ='-h'
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
opts = Trollop::options do
|
22
|
+
|
23
|
+
banner <<-EOS
|
24
|
+
check passwrod is week
|
25
|
+
|
26
|
+
Usage:
|
27
|
+
#{program} <password>
|
28
|
+
Example:
|
29
|
+
#{program} 12345679
|
30
|
+
EOS
|
31
|
+
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
c = PasswordCrack::Cracker.new
|
37
|
+
|
38
|
+
result = c.check_is_week password
|
39
|
+
|
40
|
+
p "passowrd(#{password}) is week,found in dict <#{result}>" if result
|
41
|
+
p "passowrd(#{password}) is strong now,just now." if !result
|
data/lib/password_crack.rb
CHANGED
@@ -25,10 +25,51 @@ module PasswordCrack
|
|
25
25
|
end
|
26
26
|
|
27
27
|
|
28
|
+
def check_is_week password
|
29
|
+
|
30
|
+
p = PasswordChecker.new
|
31
|
+
|
32
|
+
return p.check password
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
|
28
37
|
|
29
38
|
end
|
30
39
|
|
31
40
|
|
41
|
+
class PasswordChecker
|
42
|
+
|
43
|
+
def check password
|
44
|
+
|
45
|
+
|
46
|
+
result = check_by_dict password,'week_password_sample'
|
47
|
+
|
48
|
+
return result if result
|
49
|
+
|
50
|
+
return check_by_dict password,'birthday'
|
51
|
+
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def check_by_dict password,dict_name
|
57
|
+
d = Dict.new dict_name
|
58
|
+
File.open(d.create).each_line() do |pass|
|
59
|
+
|
60
|
+
pass.chomp!
|
61
|
+
|
62
|
+
return dict_name if pass == password
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
return nil
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
32
73
|
class Md5Cracker
|
33
74
|
|
34
75
|
|
data/password_crack.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
|
18
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
|
-
spec.executables = ['password_crack']
|
19
|
+
spec.executables = ['password_crack','password_is_week']
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.10"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: password_crack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- luax
|
@@ -57,6 +57,7 @@ email:
|
|
57
57
|
- luax@qq.com
|
58
58
|
executables:
|
59
59
|
- password_crack
|
60
|
+
- password_is_week
|
60
61
|
extensions: []
|
61
62
|
extra_rdoc_files: []
|
62
63
|
files:
|
@@ -69,6 +70,7 @@ files:
|
|
69
70
|
- README.md
|
70
71
|
- Rakefile
|
71
72
|
- bin/password_crack
|
73
|
+
- bin/password_is_week
|
72
74
|
- lib/password_crack.rb
|
73
75
|
- lib/password_crack/version.rb
|
74
76
|
- password_crack.gemspec
|