Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 프로그래밍을 사용한 이미지 기반 스테가노그래피

<시간/>

이 기사에서는 Python을 사용한 이미지 기반 스테가노그래피에 대해 알아봅니다. 속기는 오디오, 비디오 및 이미지 뒤에 텍스트를 숨기는 방법입니다. 이는 보안을 강화하고 허위 저작권 주장으로부터 보호하는 데 사용됩니다.

단계적에서 사용할 수 있는 인코딩 기능의 도움으로 이를 달성하고 있습니다. Python에서 사용할 수 있는 모듈. 표시 및 보기 목적으로 PIL을 사용합니다. (Python Imaging Library) Python에서 사용할 수 있습니다.

아이디 선호 − 주피터 노트북

모든 종속성 가져오기 -

>>> from PIL import Image


>>> import stepic

이 기사에서는 아래 주어진 이미지에 텍스트를 인코딩합니다. 아래 이미지를 다운로드하여 "logo.png로 저장하세요. ” jupyter notebook localhost 폴더에 있습니다.

Python 프로그래밍을 사용한 이미지 기반 스테가노그래피

원하는 이미지를 사용할 수 있습니다. 큰따옴표 안에 이미지의 경로를 지정하기만 하면 됩니다.

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

여기에서 이미지 기능을 사용하면 스테가노그래피를 수행해야 하는 "이미지"를 열 수 있습니다. .show() 기능을 사용하면 아래와 같이 팝업 형태로 이미지를 볼 수 있습니다.

Python 프로그래밍을 사용한 이미지 기반 스테가노그래피

이제 계단식 모듈을 사용하여 ASCII 값을 사용하여 메시지를 8비트 이진 데이터로 인코딩합니다. .encode() 인코딩용 이미지와 메시지라는 두 개의 매개변수를 허용하는 함수가 사용됩니다.

.save()를 사용합니다. 숨겨진 메시지를 원본 이미지에 저장하는 기능입니다.

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

이제 인코딩된 이미지.

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

Python 프로그래밍을 사용한 이미지 기반 스테가노그래피

나는 당신이 두 이미지에서 어떤 변화도 관찰하지 못한다고 생각합니다. 메시지가 숨겨져 있기 때문입니다. 직접 볼 수 없습니다.

메시지를 성공적으로 인코딩했는지 확인하려면 아래 코드를 살펴보세요.

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


'Tutorialspoint'

여기에 숨겨진/인코딩된 메시지는 Python에서 사용할 수 있는 stepic 모듈의 내장 디코더에 의해 표시됩니다.

결론

이 기사에서는 Python 3.x에서 사용할 수 있는 단계적 및 PIL 모듈을 사용하는 이미지 기반 스테가노그래피에 대해 배웠습니다. 또는 그 이전.