动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Visual Basic教程 ]的信息

本月文章推荐
.用VB5.0从Recordset中打印列表.
.用VisualBasic开发绿色软件的探讨.
.简单计算函数的编写过程.
.在Windows操作系统中改变文件打开.
.VB中播放三维动画编程一例.
.VB中实现图像特技(2).
.基于Windows95平台的VB5串行端口.
.用VisualBasic的Move方法实现动画.
.为什么用VB开发数据库---VB数据库.
.在VB6.0中使ACCESS数据库在网络使.
.如何在VB中截获shell程序的输出.
.用VB编写入侵监听程序(下).
.教小朋友认识红绿灯.
.VisualBasic软件设计中的几个问题.
.VisualBasic中DataCombo和DataLi.
.做出分隔线.
.解析VB的事件驱动编程.
.在VB中如何创建闪烁(标语)屏.
.用DAO或ADO正确访问Access2000.
.VisualBasic属性、方法和事件四.

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

发表日期:2006-2-27 |


现在有些软件都设置密码登录,启动软件时要求使用者输入有效的密码。其实密码就是对明文文本进行一一对应的变换,使这变成不可识别的密码文本,让非法使用者不能识别。

本程序是通过,输入登录密码,然后把用户密码加密保存到文本里。

首先,建立一个标准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

'密码输入错误,则退出程序
IfInputString<>txtPassword.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)
Ifch<0Thench=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中运行通过。->

上一篇:VB的“问”与“答” 人气:2976
下一篇:VB5三十六计 人气:2990
浏览全部Visual Basic的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵