From 3f035dea5ac11ccec7ac1853928a7a077e89610a Mon Sep 17 00:00:00 2001 From: Radek Date: Thu, 12 Mar 2026 09:39:24 +0000 Subject: [PATCH] more entropy --- entropy.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 entropy.py diff --git a/entropy.py b/entropy.py new file mode 100644 index 0000000..6106634 --- /dev/null +++ b/entropy.py @@ -0,0 +1,27 @@ +import cv2 +import hashlib +import secrets + +def fetch_frame_opencv(url): + cap = cv2.VideoCapture(url) + ret, frame = cap.read() + cap.release() + if not ret: + raise ValueError("Failed to fetch frame.") + return frame + +def generate_random_numbers(frame, bit_lengths=[16, 32, 64, 128, 256, 256, 512, 512, 1024, 1024]): + _, img_encoded = cv2.imencode('.jpg', frame) + img_bytes = img_encoded.tobytes() + entropy = hashlib.sha256(img_bytes).digest() + # Use secrets.randbits directly + return {length: secrets.randbits(length) for length in bit_lengths} + +url = "http://192.168.0.200/mjpg/video.mjpg" +try: + frame = fetch_frame_opencv(url) + random_numbers = generate_random_numbers(frame) + for length, number in random_numbers.items(): + print(f"{length}-bit random number: {hex(number)}") +except Exception as e: + print(f"Error: {e}")