Upload files to "/"
parent
97bba66412
commit
ed6ae8d285
|
@ -0,0 +1 @@
|
|||
theme: jekyll-theme-hacker
|
|
@ -0,0 +1,137 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Password Crackculator</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #000; /* Set background color to black */
|
||||
color: #fff; /* Set text color to white */
|
||||
text-align: center; /* Center-align text */
|
||||
}
|
||||
table {
|
||||
margin: auto;
|
||||
width: 500px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
td {
|
||||
padding: 10px;
|
||||
}
|
||||
input[type="text"], input[type="number"] {
|
||||
width: 90%;
|
||||
background-color: #333; /* Dark background for inputs */
|
||||
color: white; /* White text for inputs */
|
||||
border: 1px solid #555; /* Slight border for inputs */
|
||||
}
|
||||
input[type="button"] {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
background-color: #28a745;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type="button"]:hover {
|
||||
background-color: #218838;
|
||||
}
|
||||
.result {
|
||||
background-color: gray;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
}
|
||||
/* Add styling for the image */
|
||||
img {
|
||||
display: block; /* Make it block-level to center it */
|
||||
margin: 0 auto; /* Center the image */
|
||||
max-width: 100%; /* Responsive image */
|
||||
height: auto; /* Maintain aspect ratio */
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Image at the top -->
|
||||
<img src="https://i.ibb.co/py2VgYV/securityops-logo.jpg" alt="Follow the white rabbit">
|
||||
|
||||
<form method="POST" onsubmit="event.preventDefault(); doit();">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">Password length:</td>
|
||||
<td><input type="number" id="len" value="7" min="1" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Speed:</td>
|
||||
<td>
|
||||
<input type="number" id="speed" value="348000000000" required> passwords per second
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Number of computers:</td>
|
||||
<td>
|
||||
<input type="number" id="pcn" value="1" min="1" required>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<label><input type="checkbox" id="cslwr" checked> chars in lower case</label><br>
|
||||
<label><input type="checkbox" id="csuppr" checked> chars in upper case</label><br>
|
||||
<label><input type="checkbox" id="csdigits" checked> digits</label><br>
|
||||
<label><input type="checkbox" id="cssymb" checked> common punctuation</label><br>
|
||||
<label><input type="checkbox" id="csascii"> full ASCII</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="button" value="Calculate!" onclick="doit();">
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="result">
|
||||
<td colspan="2">
|
||||
Brute Force Attack will take up to <strong><span id="result2">a minute</span></strong>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function doit() {
|
||||
// Gather input values
|
||||
const n = parseInt(document.getElementById("len").value);
|
||||
const speed = parseFloat(document.getElementById("speed").value);
|
||||
const pcn = parseInt(document.getElementById("pcn").value);
|
||||
|
||||
// Calculate character set length based on selected options
|
||||
let cslen = 0;
|
||||
if (document.getElementById("cslwr").checked) cslen += 26; // lowercase letters
|
||||
if (document.getElementById("csuppr").checked) cslen += 26; // uppercase letters
|
||||
if (document.getElementById("csdigits").checked) cslen += 10; // digits
|
||||
if (document.getElementById("cssymb").checked) cslen += 12; // common punctuation
|
||||
if (document.getElementById("csascii").checked) cslen = 188; // full ASCII
|
||||
|
||||
// Calculate time (in seconds)
|
||||
const totalCombinations = Math.pow(cslen, n);
|
||||
let timeInSeconds = totalCombinations / (speed * pcn);
|
||||
|
||||
// Convert time to a readable format
|
||||
let resultString = formatTime(timeInSeconds);
|
||||
document.getElementById("result2").innerHTML = resultString;
|
||||
}
|
||||
|
||||
// Format time into a human-readable format
|
||||
function formatTime(seconds) {
|
||||
if (seconds < 60) return "less than a minute";
|
||||
if (seconds < 3600) return Math.ceil(seconds / 60) + " minutes";
|
||||
if (seconds < 86400) return Math.ceil(seconds / 3600) + " hours";
|
||||
if (seconds < 2592000) return Math.ceil(seconds / 86400) + " days";
|
||||
if (seconds < 31536000) return Math.ceil(seconds / 2592000) + " months";
|
||||
return Math.ceil(seconds / 31536000) + " years";
|
||||
}
|
||||
|
||||
// Call the calculate function once on load
|
||||
doit();
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue