Computer >> Máy Tính >  >> Lập trình >> Python

Steganography dựa trên hình ảnh bằng cách sử dụng lập trình Python

Trong bài viết này, chúng ta sẽ tìm hiểu về phép ghi mã dựa trên hình ảnh bằng Python. Stenography là một phương pháp ẩn văn bản đằng sau âm thanh, video và hình ảnh. Điều này được sử dụng để tăng cường bảo mật và bảo vệ khỏi các khiếu nại sai về bản quyền.

Chúng tôi đang đạt được điều này với sự trợ giúp của tính năng mã hóa có sẵn trong stepic mô-đun có sẵn bằng Python. Đối với mục đích hiển thị và xem, chúng tôi sử dụng PIL (Thư viện hình ảnh Python) có sẵn bằng Python.

Ưu tiên lý tưởng - Sổ ghi chép Jupyter

Nhập tất cả các phần phụ thuộc -

>>> from PIL import Image


>>> import stepic

Trong bài viết này, chúng tôi sẽ mã hóa văn bản trên hình ảnh dưới đây. Vui lòng tải xuống hình ảnh bên dưới và lưu dưới dạng “ logo.png ”Trong thư mục localhost của sổ ghi chép jupyter.

Steganography dựa trên hình ảnh bằng cách sử dụng lập trình Python

Bạn có thể sử dụng bất kỳ hình ảnh nào mà bạn lựa chọn. Bạn chỉ cần chỉ định đường dẫn hình ảnh của mình trong dấu ngoặc kép.

>>> img = Image.open('logo.png')
>>> img.show()

Ở đây, chức năng Hình ảnh cho phép chúng ta mở “hình ảnh” cần thực hiện kỹ thuật chụp ảnh ẩn (steganography). .show () cho phép chúng ta xem hình ảnh dưới dạng cửa sổ bật lên như hình dưới đây.

Steganography dựa trên hình ảnh bằng cách sử dụng lập trình Python

Bây giờ bằng cách sử dụng mô-đun stepic, chúng tôi mã hóa một thông báo thành dữ liệu nhị phân 8-bit bằng cách sử dụng giá trị ASCII. Để mã hóa .encode () được sử dụng để chấp nhận hai tham số, tức là hình ảnh và tin nhắn.

Chúng tôi sử dụng .save () chức năng lưu thông báo ẩn vào hình ảnh gốc của chúng tôi.

>>> img1 = stepic.encode(im, b'Tutorialspoint')
>>> img1.save('logo.png', 'PNG')

Bây giờ, hãy hiển thị được mã hóa hình ảnh.

>>> img1 = Image.open('logo.png')
>>> img1.show()

Steganography dựa trên hình ảnh bằng cách sử dụng lập trình Python

Tôi nghĩ rằng bạn quan sát thấy không có sự thay đổi trong hai hình ảnh. Điều này là do thư bị ẩn và không hiển thị trực tiếp.

Để xác minh rằng bạn đã mã hóa thư thành công, hãy truy cập mã bên dưới.

>>> im2 = Image.open('logo.png')
>>> message_hidden = stepic.decode(im2)
>>> print(message_hidden)


'Tutorialspoint'

Tại đây, thông báo được mã hóa / ẩn được hiển thị bằng bộ giải mã tích hợp của mô-đun stepic có sẵn bằng Python.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về Steganography dựa trên hình ảnh bằng cách sử dụng Mô-đun stepic và PIL có sẵn trong Python 3.x. Hoặc sớm hơn.