VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 6947|回复: 14

[首发原创]边干边写之三——简单的密钥生成器(开源)

[复制链接]
 楼主| 发表于 2007-9-7 11:47:54 | 显示全部楼层 |阅读模式
.
    为了发布产品的需要,眼下正在做一个有通用的“注册机”程序,制作的过程中发现要定义自己的密钥实在是挺麻烦的一个事情,那些动动辄数百位十六进制字符串也真够我编的,而且每个程序都要改成不一样的(为了增加破解难度),有点烦。
    于是动了点歪脑筋,先写个密钥生成器用。程序很简单,高手是不屑一顾的。先发了给大家看看吧,希望对初学者有点帮助。
    “注册机”我也做了开源的,做好后再发过来给大家批。

先看看界面吧,很难看:



然后是源码:
Private Sub Combo1_Click()
    SendKeys ("{TAB}")
    Call Command1_Click
End Sub

Private Sub Command1_Click()
    Dim vI As Integer
    Dim vLen As Integer
    Dim vKey As String
   
    Dim vChar As String
   
    Randomize
   
    vLen = Int(Val(Text2.Text))
    If vLen > 2048 Or vLen < 1 Then
        MsgBox "密钥长度应该在1到1024之间", vbOKOnly, "无效的长度"
        With Text2
            .SelStart = 0
            .SelLength = Len(.Text)
            .SetFocus
        End With
        Exit Sub
    End If
   
    If Combo1.Text = "公共" Then
        vKey = "Public "
    End If
   
    vChar = Left(Text3.Text, 1)
   
    If vChar < "A" Or vChar > "z" Then
        MsgBox "变量名不要以非字母形式开头", vbOKOnly, "无效的变量名称"
        Exit Sub
    End If
   
    vKey = vKey & "Const " & Trim(Text3.Text) & " = """
        
    For vI = 1 To vLen
        vChar = Hex(Int(16 * Rnd()))
        vKey = vKey & vChar
        If vI Mod 64 = 0 And vI <> vLen Then
            vKey = vKey & """ & _" & vbCrLf & vbTab & """"
        End If
    Next vI
   
    vKey = Trim(vKey & """")

    Text1.Text = vKey
End Sub

Private Sub Command2_Click()
    Clipboard.SetText Text1.Text
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        Call Combo1_Click
    End If
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
    Call Text2_KeyPress(KeyAscii)
End Sub

再往后就是程序了:

[ 本帖最后由 DreamonII 于 2007-9-7 12:44 编辑 ]

CreateKey.rar

7.04 KB, 下载次数: 628

评分

参与人数 2威望 +3 人气 +1 收起 理由
sunfrank + 1 -
sd3664722 + 3

查看全部评分

发表于 2007-9-7 11:49:23 | 显示全部楼层
支持,学习学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-7 11:53:18 | 显示全部楼层
补充一下:

   其实生成的时候循环体内就可以可以有条件地避免出现串尾多余的“ _ "" ”的(貌似调下语序就能做到),而不用在循环外额外判断。
   考虑到多两条语句并不会影响太多的效率(这东西一年可能用不上一回),因此不优化了,只提醒初学者注意。




注:========================
    上述缺点已修正。新附件如下:

[ 本帖最后由 DreamonII 于 2007-9-7 12:48 编辑 ]

CreateKey.rar

11.79 KB, 下载次数: 537

评分

参与人数 1威望 +10 收起 理由
bbadsl + 10 发布源码

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2007-9-7 18:33:42 | 显示全部楼层
加分支持.
回复 支持 反对

使用道具 举报

发表于 2007-9-7 20:21:58 | 显示全部楼层
记得要好好休息,身体是"革命"的本钱:) :) :)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-7 20:34:40 | 显示全部楼层
原帖由 zhangxl0451 于 2007-9-7 20:21 发表
记得要好好休息,身体是"革命"的本钱:) :) :)

谢谢哈~~
这些天每天都4点钟睡的
真有点累呢~~
回复 支持 反对

使用道具 举报

发表于 2009-2-6 09:56:21 | 显示全部楼层
下载好好学习
回复 支持 反对

使用道具 举报

发表于 2010-5-5 08:52:31 | 显示全部楼层
谢谢您的分享 好东西 收下了
回复 支持 反对

使用道具 举报

发表于 2010-6-22 08:45:34 | 显示全部楼层
非常感谢!
回复 支持 反对

使用道具 举报

发表于 2011-1-25 10:35:37 | 显示全部楼层
谢谢您的分享 好东西 收下了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-8-26 00:34

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表