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

Python 이미지 기반 스테가노그래피

<시간/>

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

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

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

모든 종속성 가져오기 -

>>> import stepic

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

Python 이미지 기반 스테가노그래피

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

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

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

Python 이미지 기반 스테가노그래피

이제 stepic 모듈을 사용하여 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에서 사용할 수 있는 stepic 및 PIL 모듈을 사용하는 이미지 기반 스테가노그래피에 대해 배웠습니다. 또는 그 이전.