- Laravel
- React
- MySQL
- React Bootstrap
W tym projekcie zakładam stworzenie aplikacji webowej do przechowywania i bezpiecznego udostępniania haseł pomiędzy pracownikami w organizacji. Aplikacja umożliwi użytkownikom tworzenie, edytowanie i usuwanie haseł, a następnie przesyłanie ich pomiędzy zarejestrowanymi użytkownikami. Aplikacja będzie wykorzystywać autorski algorytm dwustronnego szyfrowania haseł.
Algorytm dwustronnego szyfrowania hasłem to metoda zabezpieczania danych, która szyfruje podane przez użytkownika hasło, wykorzystując zabezpieczający klucz do szyfrowania i deszyfrowania informacji. Algorytm ten zapewnia większe bezpieczeństwo niż standardowe metody szyfrowania, ponieważ stosowane są dodatkowe sole, które trudno odgadnąć bez znajomości kodu źródłowego aplikacji.
- Użytkownik podaje hasło.
- Elementami klucza szyfrującego są:
- secret zapisywany w pliku .env
- ciąg 12 losowych znaków
- pierwsza litera imienia i nazwiska dodającego hasło, oddzielone od siebie cyfrą 4
- Wszystkie znaki klucza łączone są ze sobą bezpośrednio, bez żadnych separatorów, a klucz szyfrowany jest za pomocą algorytmu bcrypt.
- Hasło szyfrowane jest za pomocą algorytmu AES-256-CBC, wykorzystując wcześniej opisany klucz.
- Następnie wykonywany jest wpis do bazy nowo zaszyfrowanego hasła wraz z ciągiem losowych znaków wygenerowanych wcześniej dodanym po kropce.
- Użytkownik będzie mógł tworzyć, edytować i usuwać własne hasła i przesyłać je do innych użytkowników.
- Hasła szyfrowane są za pomocą autorskiego algorytmu dwustronnego szyfrowania.
- Użytkownicy będą mogli przeglądać i przesyłać pomiędzy sobą hasła.
- Administratorzy mogą zarządzać użytkownikami i zarządzać hasłami.