@@ -49,12 +49,10 @@ Time Complexity:
49
49
Space Complexity:
50
50
<li >𝑂(𝐶𝐿−1), where 𝐶 is the size of the character set and 𝐿 is the maximum password length.</li >
51
51
<br >
52
- <br >
53
52
Both the time and space complexities are exponential due to the nature of the algorithm.
54
53
<br >
55
54
This is expected for an algorithm of this type, since we need to explore all possible combinations to guarantee finding the correct password.
56
55
<br >
57
- <br >
58
56
I've improved the efficiency of the algorithm as much as scientifically possible,
59
57
<br >
60
58
But there's still a trade-off between accuracy and efficiency, and since my algorithm is the most accurate, it's also by nature the least efficient.
@@ -63,17 +61,17 @@ But there's still a trade-off between accuracy and efficiency, and since my algo
63
61
It translates to the following:
64
62
<br >
65
63
When I did performance testing, I found that an 8 letter password, with a character set of 9 characters, had the following results:
66
- <code >
67
- Time Taken: 17683 ms, or 17 seconds
68
- Memory Usage: 2511 MB, or 2.5GB
64
+ <br >
65
+ < code > Time Taken: 17683 ms, or 17 seconds
66
+ Memory Usage: 2511 MB, or 2.5GB
69
67
</code >
70
68
<br >
71
69
Since this is exponential, we can assume that an 8 letter password with a character set of 10 (1 character more than before), would take:
72
- <code >
73
- Estimated Time Taken: Approximately 33 seconds
74
- Estimated Memory Usage: Approximately 4.5 GB
70
+ <br >
71
+ < code > Estimated Time Taken: Approximately 33 seconds
72
+ Estimated Memory Usage: Approximately 4.5 GB
75
73
</code >
76
74
<br >
77
75
The more characters there are in the set, the higher the resource consumption and processing time to calculate the original password.
78
76
<br >
79
- This logic is what underpins password security, since passwords that are longer AND have more variety in the characters used, are harder to crack.
77
+ This logic is what underpins password security, since passwords that are longer AND have more variety in the characters used, are harder to crack.
0 commit comments