VB.NET中文验证码如何获取

我们在使用VB.NET这样一款开发语言进行编程的时候,需要认清其中的特性,才能真正完善我们的程序开发。下面就先一起了解一下VB.NET中文验证码的获取首先要修改一下配置,C#中又checked和unchedked检查整数溢出处理。#t#

但是VB.NET中没办法,溢出即报错,***处理方法是

VB.net菜单:项目 --> XXX 属性... --> 配置 --> 优化 --> 选中“移除整数溢出检查”复选框

下面来仔细研究一下VB.NET中文验证码的相关代码编写:

  1. Function RndStr()Function 
    RndStr() As String
  2. Dim gb As SystemSystem.Text.
    Encoding = System.Text.Encoding.
    GetEncoding("gb2312")
  3. Dim bytes As Object() = 
    CreateRegionCode(4)
  4. Dim str1 As String = gb.GetString
    (DirectCast(Convert.ChangeType
    (bytes(0), GetType(Byte())), Byte()))
  5. Dim str2 As String = gb.GetString
    (DirectCast(Convert.ChangeType
    (bytes(1), GetType(Byte())), Byte()))
  6. Dim str3 As String = gb.GetString
    (DirectCast(Convert.ChangeType
    (bytes(2), GetType(Byte())), Byte()))
  7. Dim str4 As String = gb.GetString
    (DirectCast(Convert.ChangeType
    (bytes(3), GetType(Byte())), Byte()))
  8. Dim txt As String = (str1 & 
    str2 & str3 & str4)
  9. End Function
  10. Function CreateRegionCode()Function 
    CreateRegionCode(ByVal strlength 
    As Integer) As Object()
  11. Dim rBase As String() = New String() 
    {"0", "1", "2", "3", "4", "5", 
    "6", "7", "8", "9", "a", "b", 
    "c", "d", "e", "f"}
  12. Dim rnd As New Random
  13. Dim bytes As Object() = New 
    Object(strlength - 1) {}
  14. Dim i As Integer = 0
  15. Do While (i < strlength)
  16. Dim r2 As Integer
  17. Dim r4 As Integer
  18. Dim r1 As Integer = rnd.Next(11, 14)
  19. Dim str_r1 As String = rBase(r1).Trim
  20. rnd = New Random(r1 * DateTime.
    Now.Ticks + i)
  21. If (r1 = 13) Then
  22. r2 = rnd.Next(0, 7)
  23. Else
  24. r2 = rnd.Next(0, &H10)
  25. End If
  26. Dim str_r2 As String = rBase(r2).Trim
  27. Dim r3 As Integer = New Random(
    (r2 * DateTime.Now.Ticks) + i).
    Next(10, &H10)
  28. Dim str_r3 As String = rBase(r3).Trim
  29. rnd = New Random((r3 * DateTime.
    Now.Ticks) + i)
  30. Select Case r3
  31. Case 10
  32. r4 = rnd.Next(1, &H10)
  33. Exit Select
  34. Case 15
  35. r4 = rnd.Next(0, 15)
  36. Exit Select
  37. Case Else
  38. r4 = rnd.Next(0, &H10)
  39. Exit Select
  40. End Select
  41. Dim str_r4 As String = rBase(r4).Trim
  42. Dim byte1 As Byte = Convert.
    ToByte((str_r1 & str_r2), &H10)
  43. Dim byte2 As Byte = Convert.
    ToByte((str_r3 & str_r4), &H10)
  44. Dim str_r As Byte() = New Byte() 
    {byte1, byte2}
  45. bytes.SetValue(str_r, i)
  46. i += 1
  47. Loop
  48. Return bytes
  49. End Function

VB.NET中文验证码相关实现方法就为大家介绍到这里。

网站题目:VB.NET中文验证码如何获取
标题来源:http://www.shufengxianlan.com/qtweb/news49/380399.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联