This shows you the differences between two versions of the page.
pm:prj2025:iotelea:raluca.guceanu [2025/05/30 03:13] raluca.guceanu [Modul de autentificare] |
pm:prj2025:iotelea:raluca.guceanu [2025/05/30 03:20] (current) raluca.guceanu [Concluzii] |
||
---|---|---|---|
Line 3: | Line 3: | ||
Autor: **Raluca-Zinca-Ioana Guceanu** \\ | Autor: **Raluca-Zinca-Ioana Guceanu** \\ | ||
Grupa: **331CD** \\ | Grupa: **331CD** \\ | ||
- | GitHub: | + | GitHub: https://github.com/ralucaguceanu/Sistem-de-acces-multi-nivel-pentru-soferi |
===== Introducere ===== | ===== Introducere ===== | ||
Line 110: | Line 110: | ||
- Generare hash simplificat | - Generare hash simplificat | ||
- Validare parolă: | - Validare parolă: | ||
- | - Citirea fișierului `password.txt` de pe card SD | + | - Citirea fișierului ce conține hash-ul pentru parola corectă de pe card SD |
- Comparare hash-uri | - Comparare hash-uri | ||
- Test alcool MQ-3: | - Test alcool MQ-3: | ||
Line 120: | Line 120: | ||
==== Funcții implementate ==== | ==== Funcții implementate ==== | ||
^ Funcție ^ Scop ^ | ^ Funcție ^ Scop ^ | ||
- | | simpleHash(String) | Generează un hash simplificat din parolă | | + | | sha256Hex(const char *msg, char *hexOut) | Generează un hash din parola | |
| addChar(char) | Adaugă o cifră în șirul parolei și o afișează cu `*` | | | addChar(char) | Adaugă o cifră în șirul parolei și o afișează cu `*` | | ||
| resetPasswordInput() | Resetează parola și reafișează „Enter Password” | | | resetPasswordInput() | Resetează parola și reafișează „Enter Password” | | ||
Line 140: | Line 140: | ||
* Introducerea parolei de către utilizator prin tastatură fizică | * Introducerea parolei de către utilizator prin tastatură fizică | ||
* Afișarea feedback-ului vizual pe ecranul LCD (parolă, status, mesaje pentru ghidare) | * Afișarea feedback-ului vizual pe ecranul LCD (parolă, status, mesaje pentru ghidare) | ||
- | * Salvarea și citirea unui hash de parolă din fișierul `password.txt` de pe cardul microSD | + | * Salvarea și citirea unui hash al parolei corecte din fișierul de pe cardul microSD |
* Compararea corectă a parolei introduse cu hash-ul stocat | * Compararea corectă a parolei introduse cu hash-ul stocat | ||
* Emiterea de semnale sonore prin buzzer, în funcție de validare (parolă corectă/greșită) | * Emiterea de semnale sonore prin buzzer, în funcție de validare (parolă corectă/greșită) | ||
Line 157: | Line 157: | ||
* Sistemul este stabil, nu s-au observat blocaje sau comportamente neprevăzute în timpul utilizării normale | * Sistemul este stabil, nu s-au observat blocaje sau comportamente neprevăzute în timpul utilizării normale | ||
* LCD-ul și componentele răspund corect la comenzi | * LCD-ul și componentele răspund corect la comenzi | ||
- | * Fișierul `password.txt` este creat automat dacă lipsește | + | * Fișierul cu hash-ul parolei este creat automat dacă lipsește |
* Poate fi extins cu ușurință (ex: adăugarea de useri și a unui modul RFID, salvarea rezultatelor într-un log) | * Poate fi extins cu ușurință (ex: adăugarea de useri și a unui modul RFID, salvarea rezultatelor într-un log) | ||
Line 178: | Line 178: | ||
Sistemul s-a dovedit funcțional, stabil și extensibil. În plus, poate fi aplicat în contexte reale, precum: | Sistemul s-a dovedit funcțional, stabil și extensibil. În plus, poate fi aplicat în contexte reale, precum: | ||
- | * flote de închiriere auto, | + | * flote de închiriere auto sau orice sistem de car-sharing securizat |
- | * sisteme de car-sharing securizate, | + | * prevenirea, în general, a utilizării vehiculelor sub influența alcoolului. |
- | * prevenirea utilizării vehiculelor sub influența alcoolului. | + | |
Consider că obiectivele propuse au fost atinse integral, iar experiența acumulată va fi utilă în proiecte viitoare ce implică atenție la detalii, securitate și integrarea mai multor componente într-un sistem. | Consider că obiectivele propuse au fost atinse integral, iar experiența acumulată va fi utilă în proiecte viitoare ce implică atenție la detalii, securitate și integrarea mai multor componente într-un sistem. | ||
===== Cod sursă ===== | ===== Cod sursă ===== | ||
+ | [[https://github.com/ralucaguceanu/Sistem-de-acces-multi-nivel-pentru-soferi | GitHub Repository]] | ||