Skip to content

A Mini-Project that simulates data corruption techniques and the use of hashing for detection.

Notifications You must be signed in to change notification settings

Abhiroop2004/Data-Corruption-Playground

Repository files navigation

Data-Corruption-Playground

A Mini-Project that simulates data corruption techniques and the use of hashing for detection.

This is a simple Python program that allows the simulation of various data corruption techniques and checks file integrity using the SHA-256 hash algorithm.

Features:

  • Flip random bits of a file
  • Modify specific bytes of a file
  • Introduce noise into a file
  • Swap contents of two files

Usage

  1. Run the 'File Authentication.py' program and choose a desired option from the menu.
  2. Follow the prompts to provide the necessary inputs, such as file name, positions to modify, or noise intensity.
  3. The program will perform the selected data corruption technique on the file and calculate the SHA-256 hash before and after the modification.
  4. It will then compare the hashes to determine if the file integrity is maintained or compromised.
  5. For the "Swap contents of a file" option, it demonstrates that SHA-256 does not detect file swapping.
  6. You may repeat the process for different files or corruption techniques as needed.
  7. Choose the "Exit the system" option when you are finished.

Requirements

  • Python version 3
  • 'hashlib' module

Note
This program is for educational purposes only and serves as a playground to explore data corruption techniques and understand the concept of file integrity. It is not intended for real-world file manipulation or security applications. Sample files have been added for the same purpose.

Disclaimer
I am not liable for any loss or damage resulting from the use of this code. Use it at your own risk.

About

A Mini-Project that simulates data corruption techniques and the use of hashing for detection.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages