-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgenerate.js
More file actions
86 lines (74 loc) · 2.86 KB
/
generate.js
File metadata and controls
86 lines (74 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
const converter = require('hex2dec');
const crypto = require('crypto');
const fs = require('fs');
var startInterger = "";
function setInteger(stringInt) {
startInterger = stringInt;
}
function generateHashes(hashType, targetHash, filepath, delay, log, verbose, ssh, npmTest, callback) {
var hashType = hashType;
var targetHash = targetHash;
if (ssh == true && !npmTest){
console.log('\n SSH mode enabled.');
console.log('\n Started hashing...');
}
var hashGenerator = setInterval(start, delay);
function start() {
var hexString = converter.decToHex(startInterger);
hexString = hexString.replace("0x", "");
var hash = crypto.createHash(hashType).update(hexString).digest('hex');
if (hash == targetHash) {
if (!npmTest){
console.log('\n-- A MATCH FOR YOUR HASH VALUE HAS BEEN FOUND --\n');
console.log(`Writing to ${process.cwd()}/${filepath}...\n`);
}
callback(startInterger, hexString, hash, npmTest);
clearInterval(hashGenerator);
}
if (ssh != true){
if (verbose == true) {
console.log(`\nInt: ${startInterger}`);
console.log(`Hex: ${hexString.replace("x", "")}`);
console.log(`Hash: ${hash}\n`);
} else {
console.log(`${hash}`);
}
}
if (log == true) {
fs.appendFileSync(filepath, `${startInterger}\n`);
fs.appendFileSync(filepath, `${hexString.replace("x", "")}\n`);
fs.appendFileSync(filepath, `${hash}\n\n`);
}
if (startInterger.length > 15) {
var lastFive = startInterger.substr(startInterger.length - 10);
var zero = 0;
if (lastFive.charAt(0) == "0") {
lastFive = "1" + lastFive;
zero = 1;
}
var lastFiveInt = parseInt(lastFive);
if (lastFiveInt == 9999999999) {
console.log(`Exiting at ${number}`);
fs.appendFile(__dirname + '/hash_matches.txt', `Exit on int: ${startInterger}\nHex value:${hexString}\nHash type:${hashType}\n${hash}\n\n`, (err) => {
if (err) throw err;
console.log('SAVED TO FILE... EXITING...');
});
clearInterval(hashGenerator);
}
lastFiveInt++;
lastFive = lastFiveInt.toString();
if (zero == 1) {
lastFive = lastFive.substr(1, lastFive.length);
}
var oldNum = startInterger.slice(0, (startInterger.length - 10));
startInterger = oldNum + lastFive;
}
var int = parseInt(startInterger);
int++;
startInterger = int.toString();
}
}
module.exports = {
hashes: generateHashes,
setStart: setInteger
};