Write a Python program that reads a binary file and validates its integrity using a checksum algorithm such as CRC32 or MD5. The program should prompt the user for the path to the binary file and the type of checksum algorithm to use. The program should then calculate the checksum of the file using the selected algorithm and compare it to the stored checksum. If the two checksums match, the program should output a message indicating that the file is valid. If the checksums do not match, the program should output a message indicating that the file is corrupt. Finally, the program should output the calculated checksum and the stored checksum for comparison. The program should be well-documented, with clear comments explaining each step of the process.
This prompt doesn't seem malicious.