1.验证码怎么写用VB制作验证码生成器
由于现在破解技术的日益高明,简单图片很容易被识别,所以我们需要对图片进行一下“加密处理” 。我的想法是用图片框输出验证码,再利用VB自带的画图函数将验证码描绘得奇怪一些,再随机添加乱七八糟的背景,从而只有人才能够识别,而暴力破解软件自然无能为力了 。需要注意的是,我们的算法应该能使用户很容易分开验证码和背景色 。
算法设计
1.窗体设计
启动VB6并新建一个标准EXE工程,布置好控件并设置好名称 。
接着将两个图片框的AutoRedraw属性设置成True,txt_inp、cmd_browse的Enabled属性设置为False, txt_inp的Maxlength属性设置成10 。然后单击“工程→部件”,勾选“Microsoft CommonDialog Control 6.0” 。
2.算法
加密过程是程序的重点 。在这里我们运用画线和画点函数来处理图片,在图片框上随机选两个点画直线,同时用随机函数确定它的颜色;再随机点一个点,同样用随机函数确定它的颜色 。在这里我们还用随机取字体样式和背景色,不过要注意的是,背景和字体颜色的差别要搞大一些,由于每个RBG分量值越大颜色越深,因此我们用下面两条语句就可以增强颜色的对比度:
pic_las.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
pic_las.BackColor = RGB(Rnd * 55, Rnd * 55, Rnd * 55)
绘制图像的具体的代码如下:
Sub AddPas()
On Error GoTo Err1
pic_las.Print Space(10 - Len(Result)); Result
Dim x, y, x1, x2, i As Integer
'随机决定输出字体样式
pic_las.FontItalic = Int(Rnd * 2)
pic_las.FontUnderline = Int(Rnd * 2)
pic_las.ForeColor = RGB(Rnd * 155 + 100, Rnd * 155 + 100, Rnd * 155 + 100)
'为验证码添加随机直线
For i = 1 To (Int(Rnd(1) * 8) + 1)
x = Int(Rnd * pic_las.Width): y = Int(Rnd * pic_las.Height)
x1 = Int(Rnd * pic_las.Width): Y1 = Int(Rnd * pic_las.Height)
pic_las.Line (x, y)-(x1, Y1), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Next i
'为验证码随机添加圆点
For i = 1 To (Int(Rnd(1) * 200) + 100)
pic_las.PSet (pic_las.Width * Rnd, pic_las.Height * Rnd), _
RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Next i
'写入输出文件
If chk_file.Value = http://www.xuexi88.com/zhishi/1 Then
SavePicture pic_las.Image, txt_outfile.Text
MsgBox "验证码已经保存在:" & txt_outfile.Text, vbInformation
End If
Exit Sub
Err1: '产生了错误
MsgBox Err.Number & ":" & Err.Description, vbExclamation
End Sub
【聚来宝验证码怎么写】
文章插图
- dha的副作用 dha的副作用
- 天津日报大厦十四楼闹鬼事件是真的吗 测评揭秘《天津日报大厦灵异事件》14楼为何封了起来?
- 小学同学会通知怎么写
- 关于武汉宠物美容的介绍 武汉宠物美容
- 家族聚会通知怎么写
- 倍速链流水线 倍速链流水线链条卡
- 罗嘉良个人资料 罗嘉良个人资料简介老婆
- pdca指的是什么 Pdca指的是
- 宝宝摆满月酒莹光屏贺词怎么写
- 声音唱的jiang怎么写