一种中文语音验证码的生成方法 【技术领域】
本发明涉及计算机领域,特别涉及一种语音验证码的生成方法和装置。
背景技术
为了保证网络安全和防止网络资源被恶意占用,验证码技术应运而生。在当前的验证码技术中图片验证码技术是应用最为广泛的。图片验证码是将一幅含有字符的图片,这些图片中的字符往往在人可以识别的范围内经过了一定程度的扭曲或加噪,从而保证了机器自动识别的困难。因此当网站使用图片验证码进行身份验证的时候,往往会要求用户回答图片中描述的字符是什么内容,如果用户能够在规定的时间内正确的输入图片中的字符,那么系统就认为该用户是人类,而在多次得到错误回答的情况下,系统就认为用户是程序,从而拒绝用户的访问。正是由于有验证码的存在,避免了邮箱等网络资源被大量恶意的侵占,从而减少垃圾邮件的产生,同时验证码还可以保障服务器被恶意程序不断请求降低性能。验证码的应用是越来越广泛。
但是我们看到目前应用的验证码都是基于图片的验证码,这对于视觉功能正常的人来说没有什么问题,但是对于视觉功能障碍者却造成了极大的不便。为了解决这个问题,专门正对视觉功能障碍者的语音验证码应运而生。语音验证码即是将要求用户验证的信息以语音文件播放的形式传递给用户,并要求用户输入该信息,从而达到验证的目的。目前在国外的许多知名网站如Google、Yahoo等网站上都已经采用了语音验证码,而国内也随之开始产生语音验证码的应用。
这些语音验证码可以极大的方便视力障碍者上网,但是无论是国外还是国内的语音验证码,其内容都包含有英文成分,专门针对英语国家用户的,对于广大中国网民中的视力障碍者,其实并没有什么帮助。在这种背景之下,本发明提出了一种中文语音验证码的生成方法,验证码内容全是中文,专门为中国的视力障碍者服务。
本发明既能解决视力障碍者上网难的问题,又同时具有很好的抗破解能力。
【发明内容】
本发明提供了一种中文语音验证码的实现方法,从而解决了中国网络用户中视力障碍者在上网身份验证是遇到的困难,使得网站能够为更多的人服务,同时该语音验证码有较好的抗破解能力,保障了网络安全。
为了了实现上述目的,本发明所述一种语音验证码的实现方法,其具体技术方案是这样实现的:
一种中文语音验证码的生成方法,该方法包括:生成包含验证码信息的音频文件,将背景干扰声音加入到包含验证码信息的音频文件中,将加入背景干扰声音的包含验证码信息的音频文件进行变调(回声)处理从而生成最终的音频文件,将此最终的音频文件作为中文语音验证码。
所述的包含验证码信息的音频文件是从中文语音验证码基本信息数据库中随机抽取音频文件合成的。
所述的中文语音验证码基本信息数据库中所包含的音频文件为构成验证码音频文件的基本单位。
所述地在中文语音基本信息数据库中的音频文件都是中文发音。
一种中文语音验证码的生成装置,该装置包括:
a)语音验证界面:实现人机对话;
b)验证码基本信息数据库:该数据库中所包含的音频文件为构成验证码音频文件的基本单位;
c)验证码音频生成机构:该机构将随机从验证码基本信息数据库中抽取音频文件,并生成中文语音验证码;
d)验证码输出机构:将中文语音验证码输出到语音验证界面;
e)验证机构:判断用户输入的字符串是否正确。
所述的语音验证界面所实现的人机对话包括验证码音频文件的播放和验证信息的输入。
所述的验证码基本信息数据库中的音频文件为N(N>=40)个发音不同的中文汉字音频文件和0到9的中文发音文件。N越大可生成的验证码信息越多。
所述的验证码生成机构将随机的从验证码基本信息数据库中抽取M(7>=M>=5)个音频文件,并将这些音频文件合成,添加干扰的背景音,再进行变调(回声)处理,从而得到最后的语音验证码。M太小的话,使得验证码信息太少,降低了验证码的抗破解能力,而M太大的话,又将使得用户必须输入的信息太多,降低了验证码的可使用性。
所述的验证机构将判断用户输入的字符是否和输出的语音验证码内容一致,并根据其判断结果决定是否通过验证。
由以上技术方案可见,本发明实施例提供的方法和装置,通过在包含验证码信息的音频文件加入干扰的背景噪音,并将加入背景音后的音频文件进行变调和(回声)处理,生成最终的语音验证码。该验证码利用语音信号的特点,解决了视力障碍者的身份验证困难,同时又有效地掩盖了验证码信息,保证了网络安全。该方法有效易行,易于普及。
【附图说明】
图1为本发明方法流程示例图;
图2为本发明的具体实施例的原理示意图;
图3为本发明中文语音验证码生成装置结构示意图。
【具体实施方式】
本发明方法是:首先生成包含验证码信息的音频文件,将背景干扰声音加入到包含验证码信息的音频文件中,将加入背景音的包含验证码信息的音频文件进行变调(回声)处理从而生成最终的音频文件,将此音频文件作为中文语音验证码。参见图1,具体包括以下步骤:
1、根据验证码的文字信息从验证码基本信息数据库中抽取音频文件进行合成,生成包含验证码信息的音频文件。
在本步骤中,验证码的文字信息是指,在验证的时候系统要求用户辨认的信息,可以是为以下M个的组合:中文词组,中文0到9。其中M>=4。
在本步骤中,验证码基本信息数据库中将存储组成验证码的汉字或数字0到9的音频文件,音频文件格式可为wav等。验证码音频文件的合成可以根据文字验证码依次从验证码基本信息数据库中抽取音频文件,并将其拼接。
2、将一段背景音加入到包含验证码信息的音频文件中。
在本步骤中,背景音可以是一段噪音,也可以是一段音乐或者一段对话。背景音加入的方法可以是将两段音频文件每一帧数据直接相加。
3、将加入有背景音的包含验证码信息的音频文件进行变调(回声)处理,处理后的音频文件作为最终中文语音验证码。
在本步骤中,变调(回声)的方法可以是用DSP芯片完成,也可以通过软件的编程的方式完成。
参见图3,为本发明中采用的生成中文语音验证码的装置结构示意图,该装置包括:
语音验证界面,用于实现人机对话。接受用户的访问请求,并将用户的请求传送到验证码生成机构。播放验证码生成机构生成的音频验证码和用户的输入信息,将上输入信息传送给验证机构。并显示与验证结果相应的提示信息。
验证码基本信息数据库,包含了组成验证码的基本信息的音频文件,包括N个发音不同的汉字的音频文件和0到9的数字的音频文件。
N>=30。
验证码生成机构,是中文语音验证码生成装置的核心机构。当接收到用户的访问请求时,将随机的生成一个验证码的文字信息,该信息是由M个汉字或数字组成的(0到9),M>=4。如“今天09”。与此同时还会生成改验证码的编号,编号是递增且各不相同的,如004。同时,该验证码生成机构会根据验证码的文字信息从验证码基本信息数据库中抽取相应的音频文件进行拼接合成,并对合成后的音频文件进行背景音的添加和变调(回声)的处理。将生成的中文语音验证码和验证码编号发送至语音验证界面,将验证码的文字信息发送至验证机构。其中,在发送给验证机构的验证码文字是由汉字的拼音和数字组成,如“今天09”验证码在验证机构中的文字信息为“今天09”。
验证机构,负责对用户输入是否正确的判定。该机构通过验证码的编号,将用户输入的字符串和验证码的文字信息对比,忽略大小写差异,如果相同则判定正确,否则判定错误。
图2为结合图3中的生成中文语音验证码的装置实施本发明方法的流程图。具体实施时步骤如下:
1、在用户发访问请求之后,验证码生成机构将生成验证码的文字信息,再根据此文字信息从验证码基本信息数据库中抽取相应的音频文件生成最终的中文语音验证码和该验证码的编号。
用户首先将通用语音验证界面输入访问的请求,验证码生成机构在受到请求后,将随机的生成一个验证码的文字信息,该信息是由M个汉字或数字组成的(0到9),M>=4。如“今天09”。与此同时还会生成改验证码的编号,编号是递增且各不相同的。如003。
验证码生成机构会根据验证码文字信息的每一个单元(汉字或数字),从验证码基本信息数据库中抽取相应的音频文件进行合成。合成步骤可以是将抽取的音频文件依次的拼接。
验证码生成机构会对根据验证码文字信息拼接后的音频文件进行加噪,变调(回声)的处理,生成最终的中文语音验证码。
2、验证码生成机构生成了中文语音验证码之后,会将音频文件和验证码编号发送到语音验证界面,将验证码的文字信息和验证码编号发送到验证机构。
在本步骤中,验证码的文字信息是由汉字的拼音和数字组成,如验证码“今天09”的文字信息是“今天09”。验证码的编号则起着区分各个验证码信息的作用。
3、语音验证界面在验证码有效的时间内播放验证码,用户则在有效时间内输入听到的验证码文字信息。
在本步骤中,验证码的有效时间是预先设定的,可以是一分钟,或者是连续播放K次,而用户输入的字符串则是由听到的汉字拼音或数字组成,如用户听到“今天09”,那么他将要输入的“今天09”才能通过验证。
4、验证界面将用户的输入信息和验证码的编号发送到验证机构,验证机构进行判定。
本步骤中,验证机构将通过验证码的编号将用户的输入和正确的验证码文字信息对比,忽略拼音中大小写差异。并将验证的结果发送给验证界面。
5、验证页面根据受到的验证结果,重新要求用户验证或者通过用户的访问请求。
在本步骤中,当收到验证结果表示用户输入错误是,页面将提示用户输入错误并要求新的身份验证。当收到验证结果表示用户输入错误时,将同意用户的继续访问。
综上所述,本中文验证码的生成装置和方法,通过将包含验证码信息的音频文件进行加噪和变调(回声),从而生成了中文语音验证码。该验证码能够解决中国网民中视力障碍者网上身份验证困难的问题,同时又很好的保障了网络的安全,具有很大的使用前景。