29 lines
		
	
	
	
		
			679 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			679 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import socket
 | |
| import hashlib
 | |
| 
 | |
| 
 | |
| def main() -> None:
 | |
|     host = "127.0.0.1"
 | |
|     port = 5001
 | |
| 
 | |
|     message = b"hello integrity"
 | |
|     tamper = False  # change to True to simulate corruption
 | |
| 
 | |
|     with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
 | |
|         s.connect((host, port))
 | |
|         send_data = message if not tamper else message[:-1] + b"X"
 | |
|         s.sendall(send_data)
 | |
| 
 | |
|         server_digest = s.recv(128).decode()
 | |
|         local_digest = hashlib.sha256(message).hexdigest()
 | |
| 
 | |
|         ok = (server_digest == local_digest)
 | |
|         print("server:", server_digest)
 | |
|         print("local :", local_digest)
 | |
|         print("match :", ok)
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     main()
 | |
| 
 | |
| 
 |