diff --git a/app/zadanie01.js b/app/zadanie01.js index 842f75e..fce1392 100644 --- a/app/zadanie01.js +++ b/app/zadanie01.js @@ -1,3 +1,24 @@ +//Twój kod + +const crypto = require('crypto'); + const MY_PWD_HASH = '5dca0fc4e306d92b2077ad85e7c4bd87a3e8648e'; +const password = [ + '??TegoHasła', + 'CodersLab', + 'Node.js Szyfruje Pliki', + 'Zaźółć Gęślą Jaźń', + 'Moje Haslo 1@3!', + '111#$((@)n', + 'Dzisiaj Szyfruje 83' +]; +const algorithm = ['sha256', 'sha512', 'md5', 'rmd160']; + +password.forEach( passwordElem => { + algorithm.forEach( algorithmElem => { + const hash = crypto.createHmac(algorithmElem, passwordElem) + .digest('hex'); + hash === MY_PWD_HASH ? console.log(`password: ${passwordElem}; algorithm: ${algorithmElem}`) : null; + }); +}); -//Twój kod \ No newline at end of file diff --git a/app/zadanieDnia1.js b/app/zadanieDnia1.js index 8c20173..851993f 100644 --- a/app/zadanieDnia1.js +++ b/app/zadanieDnia1.js @@ -1 +1,16 @@ -//Twój kod \ No newline at end of file +//Twój kod + +const fs = require('fs'); +const crypto = require('crypto'); + +const file = process.argv[2]; + +fs.readFile(file, 'utf8', (err, data) => { + if (err === null){ + const hash = crypto.createHmac('sha256', data) + .digest('hex'); + console.log(hash); // d5b1c451f5a44e4fcce7af164b6470f4ebd06b16c8b65adda696c6c7f328289b + } else { + console.log('Błąd podczas odczytu pliku!', err); + } +}); \ No newline at end of file diff --git a/app/zadanieDnia2.js b/app/zadanieDnia2.js index 85846f4..56571cc 100644 --- a/app/zadanieDnia2.js +++ b/app/zadanieDnia2.js @@ -1,3 +1,24 @@ +//Twój kod + +const crypto = require('crypto'); const ENCRYPTED_TEXT = '4f9fa8f98650091c4910f5b597773c0a48278cfb001fe4eb3ff47ada85cbf0ed3dc17016b031e1459e6e4d9b001ab6e102c11e834a98dce9530c9668c47b76ee6f09d075d19a38e48b415e067c6ddcfad0d3526c405a4f4f2fb1e7502f303c40'; +const algorithm = ['aes192', 'aes-256-cbc', 'aes-256-ecb']; +const text = 'Pobawmy się jak komputerowy Detektyw'; +let password = ''; + +text.split(' ').forEach( textElem => { + password += textElem[0] + textElem[textElem.length-1]; +}); + +algorithm.forEach( algorithmElem => { + const decipher = crypto.createDecipher(algorithmElem, password); + + let decrypted = decipher.update(ENCRYPTED_TEXT, 'hex', 'utf8'); + try { + decrypted += decipher.final('utf8'); + console.log(`Good hacking! Decrypted text: \n ${decrypted}`); + } catch(err) { + console.log("You are a weak hacker."); + } +}); -//Twój kod \ No newline at end of file