diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..bc19751 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "crypto-examples", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "md5-jkmyers": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/md5-jkmyers/-/md5-jkmyers-0.0.1.tgz", + "integrity": "sha1-t9PfKAe5HV7H8zc7V/JNYLD6krs=" + }, + "reverse-md5": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/reverse-md5/-/reverse-md5-0.0.5.tgz", + "integrity": "sha512-nSzYU/we3UHObW0rHdf/680AxlAuaVH9fmV3l/1/fnyzbphPPpTFZ684g4wQ2Ru+2lCOdmu8rgWJTTmg/JoXfA==", + "requires": { + "md5-jkmyers": "^0.0.1", + "xtend": "^4.0.0" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..60053d3 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "crypto-examples", + "version": "1.0.0", + "description": "7 useful examples of the node crypto module.", + "main": "index.js", + "dependencies": { + "reverse-md5": "0.0.5" + }, + "devDependencies": {}, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/fireship-io/node-crypto-examples.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/fireship-io/node-crypto-examples/issues" + }, + "homepage": "https://github.com/fireship-io/node-crypto-examples#readme" +} diff --git a/src/hack.js b/src/hack.js index b55f0aa..46229dd 100644 --- a/src/hack.js +++ b/src/hack.js @@ -5,11 +5,30 @@ const hash = '5e7d28e2cfff93edefb2d15abad07ec5'; +const { assert } = require('console'); +var ReverseMd5 = require('reverse-md5') + +function hacker(hash) { + + const rev = ReverseMd5({ + lettersUpper: true, + lettersLower: true, + numbers: true, + special: true, + whitespace: true, + maxLen: 15 + }) + console.log('Here') + const obj = rev(hash); + return obj.str; +} + // When you figure it out, create a Pull Request on github with value. // First correct PR wins a Lifetime PRO membership and T-shirt ///// ANSWER ///// - const hacked = 'superhacker'; +assert(hacker(hash) === hacked, 'You did not hack the hash!'); +