如何实现VB程序登录admin888加密

2016-02-19 16:30 14 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的如何实现VB程序登录admin888加密,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

现在有些软件都设置密码登录,启动软件时要求使用者输入有效的密码。其实密码就是对明文文本进行一一对应的变换,使这变成不可识别的密码文本,让非法使用者不能识别。
  
  本程序是通过,输入登录密码,然后把用户密码加密保存到文本里。
  
  首先,建立一个标准EXE工程,在窗体上放置一个TextBox控件,名称为txtPassword,PasswordChar属性为"*"。再放置两个CommandButton控件,第一个的名称为CmdSave,Caption属性为"保存密码(&S)",另一个的名称为CmdExit,Caption属性为"退出(&Q)"。
  
  主程序原代码如下:
  OptionExplicit
  '定义变量
  DimFilenumAsInteger
  DimLoadFilesAsString
  
  PrivateSubtxtPassword_Change()
  CmdSave.Enabled=True
  EndSub
  
  PrivateSubCmdSave_Click()'保存密码
  
  '当密码输入为空时,则提示信息。
  IftxtPassword.Text=EmptyThen
  MsgBox"请你输入要更改的密码!",vbExclamation,Me.Caption
  ExitSub
  EndIf
  
  '将你输入的密码加密到Cipher_Text的变量里
  DimCipher_TextAsString
  SubCiphertxtPassword.Text,txtPassword.Text,Cipher_Text
  
  '保存到文件并加密
  Filenum=FreeFile
  
  OpenLoadFilesForRandomAsFilenum
  '把Cipher_Text的变量写入文件里
  Put#Filenum,1,Cipher_Text
  CloseFilenum
  
  CmdSave.Enabled=False
  
  EndSub
  
  PrivateSubForm_Load()
  OnErrorResumeNext
  
  '密码信息文件的路径
  LoadFiles=App.Path&IIf(Len(App.Path)3,"key.dat","key.dat")
  
  DimFilesTestAsBoolean
  
  '检验key.dat文件是否存在
  IfDir(LoadFiles,vbHidden)=EmptyThen
  FilesTest=False
  Else
  FilesTest=True
  EndIf
  Filenum=FreeFile'提供一个尚未使用的文件号
  
  '读取密码文件,把文件的信息赋值给StrTarget变量
  DimStrTargetAsString
  OpenLoadFilesForRandomAsFilenum
  Get#Filenum,1,StrTarget
  CloseFilenum
  
  '如果key.dat文件已存在,则要求输入登录密码
  IfFilesTest=TrueThen
  DimInputStringAsString
  InputString=InputBox("请你输入登录密码"&Chr(13)&Chr(13)&"万能密码:http://www.vbeden.com","密码登录",InputString)
  EndIf
  
  '将你输入的密码解密到Plain_Text变量
  DimPlain_TextAsString
  SubDecipherInputString,StrTarget,Plain_Text
  txtPassword.Text=Plain_Text
  
  '密码输入错误,则退出程序
  IfInputStringtxtPassword.TextThen
  IfInputString"http://www.vbeden.com"Then
  MsgBox"你输入密码错误!",vbExclamation,"错误":End
  Else
  txtPassword.Text=Empty
  EndIf
  EndIf
  
  CmdSave.Enabled=False
  EndSub
  
  PrivateSubcmdexit_Click()'退出程序
  UnloadMe
  EndSub
  
  '加密子程序
  PrivateSubSubCipher(ByValPasswordAsString,ByValFrom_TextAsString,To_TextAsString)
  ConstMIN_ASC=32'Space.
  ConstMAX_ASC=126'~.
  ConstNUM_ASC=MAX_ASC-MIN_ASC 1
  
  DimoffsetAsLong
  DimStr_lenAsInteger
  DimiAsInteger
  DimchAsInteger
  
  '得到了加密的数字
  offset=NumericPassword(Password)
  
  Rnd-1
  '对随机数生成器做初始化的动作
  Randomizeoffset
  
  Str_len=Len(From_Text)
  Fori=1ToStr_len
  ch=Asc(Mid$(From_Text,i,1))
  Ifch=MIN_ASCAndch=MAX_ASCThen
  ch=ch-MIN_ASC
  offset=Int((NUM_ASC 1)*Rnd)
  ch=((ch offset)ModNUM_ASC)
  ch=ch MIN_ASC
  To_Text=To_Text&Chr$(ch)
  EndIf
  Nexti
  EndSub
  
  '解密子程序
  PrivateSubSubDecipher(ByValPasswordAsString,ByValFrom_TextAsString,To_TextAsString)
  ConstMIN_ASC=32'Space.
  ConstMAX_ASC=126'~.
  ConstNUM_ASC=MAX_ASC-MIN_ASC 1
  
  DimoffsetAsLong
  DimStr_lenAsInteger
  DimiAsInteger
  DimchAsInteger
  
  offset=NumericPassword(Password)
  Rnd-1
  Randomizeoffset
  
  Str_len=Len(From_Text)
  Fori=1ToStr_len
  ch=Asc(Mid$(From_Text,i,1))
  Ifch=MIN_ASCAndch=MAX_ASCThen
  ch=ch-MIN_ASC
  offset=Int((NUM_ASC 1)*Rnd)
  ch=((ch-offset)ModNUM_ASC)
  Ifch0Thench=ch NUM_ASC
  ch=ch MIN_ASC
  To_Text=To_Text&Chr$(ch)
  EndIf
  Nexti
  EndSub
  
  '将你输入的每个字符转换成密码数字
  PrivateFunctionNumericPassword(ByValPasswordAsString)AsLong
  DimValueAsLong
  DimchAsLong
  DimShift1AsLong
  DimShift2AsLong
  DimiAsInteger
  DimStr_lenAsInteger
  
  '得到字符串内字符的数目
  Str_len=Len(Password)
  '给每个字符转换成密码数字
  Fori=1ToStr_len
  ch=Asc(Mid$(Password,i,1))
  Value=ValueXor(ch*2^Shift1)
  Value=ValueXor(ch*2^Shift2)
  
  Shift1=(Shift1 7)Mod19
  Shift2=(Shift2 13)Mod23
  Nexti
  NumericPassword=Value
  EndFunction
  
  注:VB编程乐园:http://www.vbeden.com
  Email:gzboshi@21cn.com
  
  本程序在Windows98SE VB5.0中运行通过。->

来源:http://www.tulaoshi.com/n/20160219/1612317.html

延伸阅读
具体的实现方法如下: ①:在你的窗体加入代码。如果是多个窗口,可以将此代码放到模块中。 代码如下: '声明API函数 PrivateDeclareSubInitCommonControlsLib"comctl32.dll"() PrivateSubForm_Initialize() InitCommonControls EndSub 注意:千万不要在Form_load()事件下写InitCommonCon...
我们都知道,在进入Windows操作系统时会出现一个登录对话框,要求用户输入密码后才能进入Windows。我们用VB也可以编写这样的登录窗口,其具体方法如下: 界面设计: 打开“VB6.0”,出现“新建工程”对话框,选择“标准EXE”单击“打开”即可新建一个工程。新建一个工程后,VB自动生成了一个窗体,其默认的名称是Form1,且显示的...
刚开始的时候,我把系统改成可管理性较强的Windows2000(文件系统必须采用NTFS格式),建立两个同属User组的受限制帐户Game(用于游戏)和Study(学习帐户)并为他们设置相应文件、文件夹的安全权限,然后利用系统管理工具中“本地安全策略”(开启“当登录时间用完时自动注销用户”)结合netuser命令来限制特定游戏帐号(如Game)的登录时间,...
在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程序而言,最基本的要求是: ...
在API文本浏览器里,当我们在搜索栏输入任意字母,“可用项”里以该字母开头的项目以高亮显示以引起我们注意该项是不是我们所需的。象这样的功能一切提供搜索选项的程序都应该具备。以下例子采用SendMessage函数实现这一技术。 请给标准工程添加ListBox和TextBox控件各一个,其各项属性均取默认值,然后将下列代码拷贝到你的工程: ...

经验教程

43

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部