In this article, we are going to see how to generate a captcha using Python package captcha to generate our own CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) in picture form. CAPTCHA is a form of challenge-response authentication security mechanism. CAPTCHA prevents automated systems from reading the distorted characters in the picture.
Installation:
pip install captcha
Generating image captcha:Â
Here we are going to generate an image captcha:
Stepwise implementation:
Step 1: Import module and create an instance of ImageCaptcha().
image = ImageCaptcha(width = 280, height = 90)
Step 2: Create image object with image.generate(CAPTCHA_Text).
data = image.generate(captcha_text)
Step 3: Save the image to a file image.write().
image.write(captcha_text, 'CAPTCHA.png')
Below is the full implementation:
Python3
# Import the following modules from captcha.image import ImageCaptcha Â
# Create an image instance of the given size image = ImageCaptcha(width = 280 , height = 90 ) Â
# Image captcha text captcha_text = 'Lazyroar' Â Â
# generate the image of the given text data = image.generate(captcha_text)Â Â
# write the image on the given file and save it image.write(captcha_text, 'CAPTCHA.png' ) |
Output:
Image CAPTCHA
Generating Audio captcha:
Here we are going to generate an audio captcha:
Stepwise implementation:
Step 1: Import module and create an instance of AudioCaptcha().
image = audioCaptcha(width = 280, height = 90)
Step 2: Create an audio object with audio.generate(CAPTCHA_Text).
data = audio.generate(captcha_text)
Step 3: Save the image to file audio.write().
audio.write(captcha_text, audio_file)
Below is the full implementation:
Python3
# Import the following modules from captcha.audio import AudioCaptcha Â
# Create an audio instance audio = AudioCaptcha()Â Â
# Audio captcha text captcha_text = "5454" Â
# generate the audio of the given text audio_data = audio.generate(captcha_text) Â
# Give the name of the audio file audio_file = "audio" + captcha_text + '.wav' Â
# Finally write the audio file and save it audio.write(captcha_text, audio_file) |
Output: