diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..de88951
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea
+*.*~
+node_modules
diff --git a/.idea/Node.js_challenge_dzien_3.iml b/.idea/Node.js_challenge_dzien_3.iml
new file mode 100644
index 0000000..24643cc
--- /dev/null
+++ b/.idea/Node.js_challenge_dzien_3.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..28a804d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b77df43
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..157b581
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+ false
+ true
+ true
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1518587766192
+
+
+ 1518587766192
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/zadanie01.js b/app/zadanie01.js
index 842f75e..20dee0b 100644
--- a/app/zadanie01.js
+++ b/app/zadanie01.js
@@ -1,3 +1,23 @@
+const crypto = require('crypto');
+
const MY_PWD_HASH = '5dca0fc4e306d92b2077ad85e7c4bd87a3e8648e';
-//Twój kod
\ No newline at end of file
+const password = ['??TegoHasła', 'CodersLab', 'Node.js Szyfruje Pliki', 'Zaźółć Gęślą Jaźń', 'Moje Haslo 1@3!', '111#$((@)n', 'Dzisiaj Szyfruje 83'];
+
+const algorithms = ['sha256', 'sha512', 'md5', 'rmd160'];
+
+let whichPassword = (password, algorithms, hash) => {
+ let correctPassword;
+
+ password.forEach(p => {
+ algorithms.forEach(a => {
+ if (crypto.createHmac(a, p).digest('hex') === hash) {
+ correctPassword = `Our password is: ${p}. Our algorithm is: ${a}`;
+ };
+ });
+ });
+
+ return whichPassword ? console.log(correctPassword) : console.log('Password not find');
+};
+
+whichPassword(password, algorithms, MY_PWD_HASH);
\ No newline at end of file
diff --git a/app/zadanieDnia1.js b/app/zadanieDnia1.js
index 8c20173..a69b222 100644
--- a/app/zadanieDnia1.js
+++ b/app/zadanieDnia1.js
@@ -1 +1,19 @@
-//Twój kod
\ No newline at end of file
+const fs = require('fs');
+const crypto = require('crypto');
+
+function ReadAndCrypto(fileName) {
+ fs.readFile(fileName, 'utf8', (err, data) => {
+ if (err === null){
+ console.log("Poprawnie odczytano plik. \n");
+ const hash = crypto.createHmac('sha256', data)
+ .digest('hex');
+ console.log(hash);
+
+
+ } else {
+ console.log('Błąd podczas odczytu pliku!', err);
+ }
+ });
+}
+
+ReadAndCrypto(process.argv[2]);
diff --git a/app/zadanieDnia2.js b/app/zadanieDnia2.js
index 85846f4..80c1353 100644
--- a/app/zadanieDnia2.js
+++ b/app/zadanieDnia2.js
@@ -1,3 +1,19 @@
const ENCRYPTED_TEXT = '4f9fa8f98650091c4910f5b597773c0a48278cfb001fe4eb3ff47ada85cbf0ed3dc17016b031e1459e6e4d9b001ab6e102c11e834a98dce9530c9668c47b76ee6f09d075d19a38e48b415e067c6ddcfad0d3526c405a4f4f2fb1e7502f303c40';
+const algorithms = ['aes192', 'aes-256-cbc', 'aes-256-ecb'];
+const password = 'PysęjkkyDw';
+const crypto = require('crypto');
+
+function decodeText(text, password, algorithm){
+ const decipher = crypto.createDecipher(algorithm, password);
+
+ let decrypted = decipher.update(text, 'hex', 'utf8');
+ decrypted += decipher.final('utf8');
+
+ console.log(decrypted);
+ return decrypted;
+}
+
+decodeText(ENCRYPTED_TEXT, password, 'aes-256-ecb');
+
+
-//Twój kod
\ No newline at end of file