def get_captcha(text=None, lang=getattr(settings, 'CAPTCHA_DEFAULT_LANG', CAPTCHA_DEFAULT_LANG)): fonts = getattr(settings, 'CAPTCHA_FONTS', None) length = getattr(settings, 'CAPTCHA_LENGTH', 5) voicedir = getattr( settings, 'CAPTCHA_VOICEDIR', os.path.join(os.path.abspath(os.path.dirname(__file__)), 'data', 'audio_captcha', lang)) # if audio for that language is not available # fallback to settings default (english: en) if not os.path.exists(voicedir): voicedir = getattr( settings, 'CAPTCHA_VOICEDIR', os.path.join(os.path.abspath(os.path.dirname(__file__)), 'data', 'audio_captcha', CAPTCHA_DEFAULT_LANG)) image = ImageCaptcha(fonts=fonts) try: audio = AudioCaptcha(voicedir=voicedir) except IndexError as e: raise AudioCaptchaLangPackNotFound() text = text or ''.join([ random.choice(string.ascii_letters + string.hexdigits) # nosec for i in range(length) ]) data_image = image.generate(text) data_audio = audio.generate(text) return data_image, data_audio
def generate_captcha(): alphabet = "12345679abcdeghijkmnopqrtuvwxyz" text = ''.join(secrets.choice(alphabet) for i in range(5)) image = ImageCaptcha() audio = AudioCaptcha(voicedir='audiocaptcha') img_data = image.generate(text) img_str = base64.b64encode(img_data.getvalue()) img_base64 = "data:image/png;base64," + img_str.decode("utf-8") audio_data = audio.generate(text) audio_str = base64.b64encode(audio_data) audio_base64 = "data:audio/wav;base64," + audio_str.decode("utf-8") captcha_hash = bcrypt.hashpw(text, bcrypt.gensalt(12)) return { "captcha_image": img_base64, "captcha_audio": audio_base64, "captcha_hashed": captcha_hash }
def _generate_audio(self): # Create an encoded audio CAPTCHA. captcha_generator = AudioCaptcha() audio_buffer = captcha_generator.generate(self._secret) encoded_audio = ('data:audio/wav;base64,%s' % base64.encodestring(audio_buffer).decode()) self.audio = encoded_audio
def create_audio_captcha(captcha_text): # Create the audio captcha with the specified voice wav file library folder. # Each captcha char should has it's own directory under the specified folder ( such as ./voices), # for example ./voices/a/a.wav will be played when the character is a. # If you do not specify your own voice file library folder, the default built-in voice library which has only digital voice file will be used. # audio_captcha = AudioCaptcha(voicedir='./voices') # Create an audio captcha which use digital voice file only. audio_captcha = AudioCaptcha() audio_data = audio_captcha.generate(captcha_text) # audio_file = "./captcha_"+captcha_text+'.wav' # audio_captcha.write(captcha_text, audio_file) return audio_data
def audio(request): global atext if request.method == 'POST': response = request.POST.get("captcha-text") if response == atext: return render(request, 'success.html') else: return render(request, 'audio.html', {'message': 'Try Again'}) captcha_text = str(random.randint(1000, 9999)) audio_captcha = AudioCaptcha() audio_data = audio_captcha.generate(captcha_text) audio_captcha.write(captcha_text, './static/cap.wav') atext = captcha_text return render(request, 'audio.html')
def create_audio_captcha(): # Create the audio captcha with the specified voice wav file library folder. # Each captcha char should has it's own directory under the specified folder ( such as ./voices), # for example ./voices/a/a.wav will be played when the character is a. # If you do not specify your own voice file library folder, the default built-in voice library which has only digital voice file will be used. # audio_captcha = AudioCaptcha(voicedir='./voices') # Create an audio captcha which use digital voice file only. audio_captcha = AudioCaptcha() # Because we use the default module voice library, so we can only generate digital text voice. captcha_text = create_random_digital_text() # Generate the audio captcha file. audio_data = audio_captcha.generate(captcha_text) # Save the autiod captcha file. audio_file = "./captcha_"+captcha_text+'.wav' audio_captcha.write(captcha_text, audio_file) print(audio_file + " has been created.")
def create_audio_captcha(): # Create the audio captcha with the specified voice wav file library folder. # Each captcha char should has it's own directory under the specified folder ( such as ./voices), # for example ./voices/a/a.wav will be played when the character is a. # If you do not specify your own voice file library folder, the default built-in voice library which has only digital voice file will be used. # audio_captcha = AudioCaptcha(voicedir='./voices') # Create an audio captcha which use digital voice file only. audio_captcha = AudioCaptcha(voicedir='./voices') #audio_captcha = AudioCaptcha(voicedir='C:\\Users\\SIDDHARTHA\\Dropbox\\Trinity Data Science\\Scalable Computing\\Projects\\audio-alphabet') # Because we use the default module voice library, so we can only generate digital text voice. #captcha_text = create_random_digital_text() captcha_text = "a" # Generate the audio captcha file. audio_data = audio_captcha.generate(captcha_text) # Save the autiod captcha file. audio_file = "./"+captcha_text+'.wav' audio_captcha.write(captcha_text, audio_file) print(audio_file + " has been created.")
def test_audio_generate(): captcha = AudioCaptcha() data = captcha.generate("1234") assert isinstance(data, bytearray) assert bytearray(b"RIFF") in data
# Create your own Image and Audio Captcha # For Image Captcha from captcha.image import ImageCaptcha image = ImageCaptcha(width=280, height=90) data = image.generate('github2104klop') image.write('github2104klop', 'create Captcha2.png') # For Audio Captcha from captcha.audio import AudioCaptcha audio = AudioCaptcha() data1 = audio.generate('406') audio.write('406', 'Create Audio Captcha1.wav')
from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha audio = AudioCaptcha(voicedir='/path/to/voices') image = ImageCaptcha(fonts=['/path/A.ttf', '/path/B.ttf']) data = audio.generate('1234') audio.write('1234', 'out.wav') data = image.generate('1234') image.write('1234', 'out.png')
#generate image captcha from captcha.image import ImageCaptcha image = ImageCaptcha() image_data = image.generate('AI SOCIETY') image.write('AI SOCIETY', 'captcha.png') #generate audio captcha from captcha.audio import AudioCaptcha audio = AudioCaptcha() audio_data = audio.generate('45678') audio.write('45678', 'audio.wav')
from captcha.image import ImageCaptcha #For generating the image captcha image=ImageCaptcha() data=image.generate('DI123') image.write('DI123','captcha.jpg') #For generating the audio captcha from captcha.audio import AudioCaptcha audio=AudioCaptcha() data1=audio.generate("1223") audio.write('1223','1.wav')
def do_audio(): audio = AudioCaptcha(voicedir="./") data = audio.generate("1234") assert isinstance(data, bytearray) audio.write("1234", "out.wav")
# Generate Random Captcha In Python # import required modules from captcha.image import ImageCaptcha from captcha.audio import AudioCaptcha import random # Create an instance of ImageCaptcha. img = ImageCaptcha() # Create an instance of AudioCaptcha. audio = AudioCaptcha() # generate rand string of number rand = str(random.randint(10000, 99999)) # Call img.generate method to create the image object img.generate(rand) # Call img.write method to save the image to a file. img.write(rand, 'cap.png') # Generate autio captcha data audio.generate(rand) # Save the audio captcha data into a audio file. audio.write(rand, 'aud.wav')
def generate_audio_captcha(num): audio = AudioCaptcha() data = audio.generate(num) audio.write(num, 'captcha.wav')
from captcha.image import ImageCaptcha from captcha.audio import AudioCaptcha image = ImageCaptcha() image_data = image.generate('Sareer Talks') image.write('Sareer Talks', 'cap.png') audio = AudioCaptcha() audio_data = audio.generate('12345') audio.write('12345', 'audio.mp3')
# captcha has string and num def get_string(letters_count, digits_count): letters = ''.join( (random.choice(string.ascii_letters) for i in range(letters_count))) digits = ''.join( (random.choice(string.digits) for i in range(digits_count))) # convert resultant string to list and shuffle it to mix letters and digits sample_list = list(letters + digits) random.shuffle(sample_list) # convert list to string final_string = ''.join(sample_list) return final_string myCaptcha = get_string(5, 5) #gen Captcha image = ImageCaptcha(width=280, height=90) audio = AudioCaptcha() data = image.generate(myCaptcha) data = image.generate(myStringCaptcha) data = image.generate(myNumCaptcha) data = audio.generate(myNumCaptcha) image.write(myCaptcha, 'demoCaptcha.png') image.write(myStringCaptcha, 'demoStringCaptcha.png') image.write(myNumCaptcha, 'demoNumCaptcha.png') audio.write(myNumCaptcha, 'demoNumCaptcha.waw')
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ] smallletterList = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ] numberList = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] randomthreeBigLetter = random.choices(capitalletterList, k=3) randomtwosmallLetter = random.choices(smallletterList, k=2) randomtwonumber = random.choices(numberList, k=2) listrandom = randomthreeBigLetter + randomtwosmallLetter + randomtwonumber random.shuffle(listrandom) captcha = ("".join(listrandom)) print(f"The Captcha is: {captcha}") image_data = image.generate(captcha) image.write(captcha, 'captcha.png') #generate audio captcha from captcha.audio import AudioCaptcha audio = AudioCaptcha() #this will give 2 random integers randomtwoint = random.choices(numberList, k=2) twoint = ("").join(randomtwoint) print(f"The Audio Captcha is: {twoint}") audio_data = audio.generate(str(twoint)) audio.write(str(twoint), 'audioCaptcha.wav')
from captcha.image import ImageCaptcha from captcha.audio import AudioCaptcha img = ImageCaptcha() audio = AudioCaptcha() # img.write("xy12", 'xy.png') data = audio.generate('123456789') audio.write('1234', '2.mp3')
# pip install cpatcha from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha print('imported') image = ImageCaptcha(width=280, height=90) data = image.generate('HarshatejaBolla') image.write("HarshatejaBolla", 'harsha.png') audio = AudioCaptcha() print('auioimported') data1 = audio.generate('123') image.write("123", 'harsha.wav') print('auido generated')
def test_audio_generate(): captcha = AudioCaptcha() data = captcha.generate('1234') assert isinstance(data, bytearray) assert bytearray(b'RIFF') in data
data = image.generate("CCCCVGFD") image.write('CCCCVGFD', 'demo2.png') # In[10]: from captcha.image import ImageCaptcha image = ImageCaptcha(width=280, height=90) data = image.generate("BHBHGFFDD") image.write('BHBHGFFDD', 'demo3.png') # In[16]: from captcha.image import ImageCaptcha image = ImageCaptcha(width=270, height=80) data = image.generate("12CCP890") image.write('12CCP890', 'demo4.png') # # Audio Captcha # In[27]: from captcha.audio import AudioCaptcha audio = AudioCaptcha() data = audio.generate("99898") audio.write('99898', 'demo6.wmv') # In[ ]:
#Code By Amey Band from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha image = ImageCaptcha() data = image.generate('12AFGcvd') image.write('12AFGcvd', 'op.png') audio = AudioCaptcha() data = audio.generate('59647834') audio.write('59647834', 'op.wav')