← Retour aux projets Projet scolaire • Cybersécurité

Projet Sécurisation des données et mots de passe

Réalisation d’une application web en plusieurs étapes permettant de calculer la signature numérique d’un fichier avec SHA-256, de chiffrer des données personnelles et de générer un hash de mot de passe avec Bcrypt.

Contexte

Pourquoi j’ai réalisé ce projet

Ce projet a été réalisé dans le cadre d’un TP de cybersécurité en BTS SIO SLAM.

L’objectif était de créer une application web simple mais structurée en plusieurs étapes pour mettre en pratique différentes notions de sécurité liées aux fichiers, aux données sensibles et aux mots de passe.

Le projet se déroule de manière progressive : l’utilisateur commence par calculer la signature numérique d’un fichier, puis il accède à une partie de sécurisation de données RGPD, avant de terminer par une étape de sécurisation de mot de passe avec Bcrypt.

Ce travail m’a permis de mieux comprendre la logique de sécurité appliquée à une interface web interactive.

Objectif

Ce que je devais mettre en place

  • calculer la signature numérique d’un fichier avec SHA-256,
  • mettre en place une progression par étapes dans l’interface,
  • chiffrer quatre données personnelles avec une clé de cryptage,
  • permettre leur déchiffrement si la bonne clé est saisie,
  • générer un hash sécurisé de mot de passe avec Bcrypt.
Technologies utilisées

Stack du projet

Ce projet repose sur une interface web simple en HTML, CSS et JavaScript, enrichie par des bibliothèques spécialisées pour le hachage et la sécurité.

HTML
CSS
JavaScript
CryptoJS
SHA-256
bcryptjs
Bcrypt
Ce que montre le projet

Éléments travaillés

📄

Signature SHA-256

L’utilisateur peut sélectionner un fichier depuis son ordinateur, puis l’application calcule sa signature numérique grâce à SHA-256 à partir du contenu du fichier lu côté navigateur.

🧩

Progression par étapes

L’interface débloque les parties suivantes seulement après validation de l’étape précédente, ce qui structure l’utilisation de l’application et améliore la compréhension du processus.

🛡️

Chiffrement de données

Les données personnelles saisies sont regroupées puis chiffrées avec une clé grâce à une logique en JavaScript basée sur XOR et un encodage Base64.

🔓

Déchiffrement contrôlé

Les données peuvent être relues uniquement si la clé correcte est utilisée, ce qui montre le principe d’accès conditionné à une information protégée.

🔑

Hash Bcrypt

Le mot de passe saisi est transformé en hash Bcrypt avec un nombre d’itérations paramétrable, ce qui permet d’illustrer la sécurisation des mots de passe.

💻

Travail côté client

Ce projet m’a permis de manipuler le DOM, les événements, l’affichage dynamique de sections et l’intégration de bibliothèques JavaScript externes.

Captures du projet

Aperçu de l’application

Voici quelques captures des différentes étapes de l’application de sécurisation des données et mots de passe.

Signature numérique SHA-256
Formulaire de saisie et de chiffrement des données RGPD
Résultat du chiffrement et du déchiffrement des données RGPD
Génération du hash Bcrypt
Compétences mobilisées

Ce que ce projet met en avant

  • développement d’une interface web en HTML, CSS et JavaScript,
  • utilisation de bibliothèques JavaScript externes,
  • lecture de fichier côté navigateur avec FileReader,
  • calcul d’un hash SHA-256 avec CryptoJS,
  • génération d’un hash Bcrypt avec bcryptjs,
  • gestion dynamique de l’affichage par étapes,
  • manipulation et traitement de données sensibles.
Bilan

Un projet très formateur

Ce projet m’a permis de relier des notions de cybersécurité à une mise en pratique concrète dans une application web.

J’ai pu comprendre comment calculer une signature numérique, comment chiffrer puis déchiffrer des données avec une clé, et pourquoi les mots de passe doivent être transformés en hash plutôt qu’être stockés en clair.

Il m’a aussi permis de progresser en JavaScript en travaillant sur la logique, les événements et l’affichage dynamique d’une interface.

Conclusion

Un projet concret autour de la sécurité web

Ce projet m’a permis d’explorer plusieurs mécanismes importants de sécurité à travers une application web interactive.

Il montre ma capacité à développer une interface structurée, à intégrer des bibliothèques JavaScript spécialisées et à mettre en pratique des notions liées à la protection des données.

🔐