说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

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

HTML文档下载 WORD文档下载 PDF文档下载
VB如何实现VB程序登录密码加密
作者:李志东
现在有些软件都设置密码登录,启动软件时要求使用者输入有效的密码。其实密码就是对明文文本进行一一对应的变换,使这变成不可识别的密码文本,让非法使用者不能识别。

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

首先,建立一个标准EXE工程,在窗体上放置一个TextBox控件,名称为txtPassword,PasswordChar属性为"*"。再放置两个CommandButton控件,第一个的名称为CmdSave,Caption属性为"保存密码(&S)",另一个的名称为CmdExit,Caption属性为"退出(&Q)"。

主程序原代码如下:
Option Explicit
'定义变量
Dim Filenum As Integer
Dim LoadFiles As String

Private Sub txtPassword_Change()
CmdSave.Enabled = True
End Sub

Private Sub CmdSave_Click() '保存密码

'当密码输入为空时,则提示信息。
If txtPassword.Text = Empty Then
MsgBox "请你输入要更改的密码!", vbExclamation, Me.Caption
Exit Sub
End If

'将你输入的密码加密到 Cipher_Text 的变量里
Dim Cipher_Text As String
SubCipher txtPassword.Text, txtPassword.Text, Cipher_Text

'保存到文件并加密
Filenum = FreeFile

Open LoadFiles For Random As Filenum
'把 Cipher_Text 的变量写入文件里
Put #Filenum, 1, Cipher_Text
Close Filenum

CmdSave.Enabled = False

End Sub

Private Sub Form_Load()
On Error Resume Next

'密码信息文件的路径
LoadFiles = App.Path & IIf(Len(App.Path) > 3, "\key.dat", "key.dat")

Dim FilesTest As Boolean

'检验 key.dat 文件是否存在
If Dir(LoadFiles, vbHidden) = Empty Then
FilesTest = False
Else
FilesTest = True
End If
Filenum = FreeFile '提供一个尚未使用的文件号

'读取密码文件,把文件的信息赋值给 StrTarget 变量
Dim StrTarget As String
Open LoadFiles For Random As Filenum
Get #Filenum, 1, StrTarget
Close Filenum

'如果 key.dat 文件已存在,则要求输入登录密码
If FilesTest = True Then
Dim InputString As String
InputString = InputBox("请你输入登录密码" & Chr(13) & Chr(13) & "万能密码:http://vbboshi.126.com", "密码登录", InputString)
End If

'将你输入的密码解密到 Plain_Text 变量
Dim Plain_Text As String
SubDecipher InputString, StrTarget, Plain_Text
txtPassword.Text = Plain_Text

'密码输入错误,则退出程序
If InputString <> txtPassword.Text Then
If InputString <> "http://vbboshi.126.com" Then
MsgBox "你输入密码错误!", vbExclamation, "错误": End
Else
txtPassword.Text = Empty
End If
End If

CmdSave.Enabled = False
End Sub

Private Sub cmdexit_Click() '退出程序
Unload Me
End Sub

'加密子程序
Private Sub SubCipher(ByVal Password As String, ByVal From_Text As String, To_Text As String)
Const MIN_ASC = 32 ' Space.
Const MAX_ASC = 126 ' ~.
Const NUM_ASC = MAX_ASC - MIN_ASC + 1

Dim offset As Long
Dim Str_len As Integer
Dim i As Integer
Dim ch As Integer

'得到了加密的数字
offset = NumericPassword(Password)

Rnd -1
'对随机数生成器做初始化的动作
Randomize offset

Str_len = Len(From_Text)
For i = 1 To Str_len
ch = Asc(Mid$(From_Text, i, 1))
If ch >= MIN_ASC And ch <= MAX_ASC Then
ch = ch - MIN_ASC
offset = Int((NUM_ASC + 1) * Rnd)
ch = ((ch + offset) Mod NUM_ASC)
ch = ch + MIN_ASC
To_Text = To_Text & Chr$(ch)
End If
Next i
End Sub

'解密子程序
Private Sub SubDecipher(ByVal Password As String, ByVal From_Text As String, To_Text As String)
Const MIN_ASC = 32 ' Space.
Const MAX_ASC = 126 ' ~.
Const NUM_ASC = MAX_ASC - MIN_ASC + 1

Dim offset As Long
Dim Str_len As Integer
Dim i As Integer
Dim ch As Integer

offset = NumericPassword(Password)
Rnd -1
Randomize offset

Str_len = Len(From_Text)
For i = 1 To Str_len
ch = Asc(Mid$(From_Text, i, 1))
If ch >= MIN_ASC And ch <= MAX_ASC Then
ch = ch - MIN_ASC
offset = Int((NUM_ASC + 1) * Rnd)
ch = ((ch - offset) Mod NUM_ASC)
If ch < 0 Then ch = ch + NUM_ASC
ch = ch + MIN_ASC
To_Text = To_Text & Chr$(ch)
End If
Next i
End Sub

'将你输入的每个字符转换成密码数字
Private Function NumericPassword(ByVal Password As String) As Long
Dim Value As Long
Dim ch As Long
Dim Shift1 As Long
Dim Shift2 As Long
Dim i As Integer
Dim Str_len As Integer

'得到字符串内字符的数目
Str_len = Len(Password)
'给每个字符转换成密码数字
For i = 1 To Str_len
ch = Asc(Mid$(Password, i, 1))
Value = Value Xor (ch * 2 ^ Shift1)
Value = Value Xor (ch * 2 ^ Shift2)

Shift1 = (Shift1 + 7) Mod 19
Shift2 = (Shift2 + 13) Mod 23
Next i
NumericPassword = Value
End Function

Email: gzboshi@21cn.com

本程序在 Windows98SE+VB5.0 中运行通过。
(广州 李志东)
Apache Flex 4.12发布,支持iOS 7 智能手机应用挑战Web平台,看W3C如何反击? 电信级数据流量与监控系统部署案例分享 TCL联手Mozilla,HTML5智能电视真的要来了! 先睹为快:Unity亚洲开发者大会虚拟游览展示 OSTC·2014 演讲日程出炉,Perl创始人来了! Unity将收购Applifier,并引入Everyplay和GameAds两大平台 《近匠》从Cubieboard到radxa:汤亮的第二次硬件创业 九头蛇与大象之争,Hydra或将取代Hadoop 喜讯:中国安全团队Keen成功在Pwn2Own 2014黑客大赛上攻破64位Mac上的Safari OCP黑客马拉松冠军:24小时头脑风暴背后 新时代应用程序设计及MongoDB的十个深入理解 借助“开源”东风 英特尔打造卓越“软实力” 深圳综合交通设计研究院张鹍鹏:智能交通设备领域已成红海 信息化是发展趋势 25个可遇不可求的jQuery插件 Web设计中对视差设计的误区 直接拿来用,九个超实用的PHP代码片段(二) 一周消息树:小米染指平板电脑凶多吉少 移动周报:Xcode 5.1更新、CarPlay揭秘,Apple很忙 可穿戴领域,创业公司的掘金点?还是滑铁卢? 搜狐SendCloud2014运维技术沙龙拉开帷幕 一周热点:选择Go语言的12个理由,九头蛇与大象之争 中国云计算大会PPT集萃(二):十位技术大牛分享平台打造技术 延迟250毫秒损失数百万美元,Hadoop系统该如何应对实时任务 IBM成立展示中心扩展大型主机的Linux开放生态系统 SDN解决方案总结:OpenFlow、虚拟机、OpenStack和VXLAN/NVGRE 第六届中国云计算大会将于5月20-23日在京隆重召开 大数据实战:站在JMP分析平台上的FIT足迹识别技术 首届SAP d-code大会在上海举办 【OSTC讲师专访】ZoomQuiet:因商业化而开源是中国开源界最大的囧处 亿元资金扶持+联手100家VC,腾讯的雄心壮志 高手指教:如何在vc中控制刻录机和磁带机进行数据备份和恢复? 请问各位高手,怎样才能学好c语言。有没有什么好一点的网站和源码提供,多谢。 如何解决在向量位图背景下的窗口移动是的刷新置后问题?? 问一个问题!爱好or 程序员? 用VB如何设计好的报表,欢迎讨论! messagedlg能不能显示中文?例如显示“确定”,而不是“ok” 各位高手!!请教一个有关在oracle8i中建立表与表之间的关系? 请问哪里有无时间期限的Setup Factory 下载? 笨呆呆,拿分。 请问到那里可以下载uml工具,如果再有推荐的话是一定可以得分的 再次有请: playyuer 吴文智、袁飞、Jneu、Amoon、ttyp、icevi、progame、Jinesc 等各路高手 偶是初学者,问一个问题 SOS,很严重windows的问题,高手快进 复制Access数据库时出现的问题 如何动态添加TQuery的字段??? 编译一问 SOS,很严重windows的问题,高手快进 !!! 有人开发过基于winpcap的网络抓包程序么? SOS,很严重windows的问题,高手快进 ! 通过双网卡上网怎么设置? 一名初学者的问题? 各位老大,如何控制windows的资源管理器显示/不显示后缀名 问一下现在4000元可以买到大概什么配置的笔记本电脑 谁知道用VC++直接操作硬盘?告诉我一声,多谢了 请问考OCP的12本宝典在哪里下载?有人能介绍介绍经验吗?谢谢! Nobody can help me? 去考MCSD我合格吗? 怎样让程序自动修改IE中htm文件? !!!andyting!!!!过来拿分!!!!!! 请问各位大陆市场有没有<>? 请问学习vb有什么好书吗?请高手们帮帮忙,推荐几本好书?谢了!~ 谁知道生成随机数的算法 ListView问题 急急急急急急急急急急急急急急急急急急!!!! 如何向Access数据库中加入图片并从数据库中读出显示? 急,请问如何查询多个表(这些表有公共字段)查询结果按公共字段生成输出表单 请问关于利用JSP转换成HTML格式的问题 格了C:... 我装了Xteam linux kernel版本为:2.4.2,可是启动的时候屏幕上竟是0101010101010101,但用引导盘启动就可以的. 请高手们指点 "afx"是什么意思? 钩子函数里:GETMESSAGE????hook问题 大家帮帮忙!!我用vc中的Win32 console application调试c++程序时,输出的结果总是看不到,一出来就不见了啊!怎么办啊????急!!!!! 请教高手TDataSource的问题????????????????????????????????? TShockWaveFlash控件怎么样在播放时屏蔽其右键?另外怎么样让它在播放时单击鼠标让其播放结束?( Delphi版中没人回答 ,到这儿来试试) 谁有pb6.5的源代码,偶初学pb,想参考一下,最好是access或sql的,偶愿意送300分/个 LPWSTR-CString的相互转化? SQL语句问题,请指教。 我算不算“蓝领”? unix下面怎么实现多线程?可不可以发个例子给我?我的邮箱是caochao@powerise.com.cn 如何将数组中的一个元素附以二进的值 求解第十二题,这是化学题. 【生物/化学】食物的酸碱性肉、蔬菜、水果、熟米饭一般是酸性还是碱性 名家好段摘抄要摘抄,一定要成段的! 术化学12题详细解答 柠檬水的在化学上的酸碱性柠檬汁和柠檬水有什么不同,柠檬汁和柠檬水在化学上和食品中各是什么酸碱性 老大们,柠檬水虽喝起来是酸的,但在食品中是显碱性的 求优美的文章,像《紫藤萝瀑布》这样优美的文章 第12题,快 食物的酸碱性如何区分,各分类如何? 名人读书的故事,用来摘抄的.急用,作业,不然,玩完. 2014福建省福州市高中语文数学化学物理生物地理各科的课本版本 从KNO3和NaCl混合物,提纯KNO3,可能的操作?1,加热蒸发2,冷却3,结晶4,过滤5,层析其中哪几个是要的! 求名家作文用来摘记找一些名家的作文越多越好可以是北岛 老舍等等 作文字数不要太多通俗易懂 现在的高中语文课本的名著阅读有哪些 如何有效的预习语文,英语,数学,政治,历史,物理,化学? 如何提纯氯化钠中混有的硝酸钾 1.已知从滴定管放出的1滴溶液的体积约为0.05ml.(1)用0.10mol/L的盐酸滴定0.10mol/L的NaOH溶液,如在达到滴定终点后不慎又多滴加了1滴盐酸,继续加水至溶液体积为50ml后,所得溶液的c(H+)=( ),PH=( )(2) 高中化学溶液酸碱性练习常温下PH=12的溶液,水电离的OH-浓度是多少? 摘抄美文 带文章的题目和作者的名字. 化学溶液酸碱性NH5溶于水后发生水解,溶液呈————性.理由是什么 离子行化合物。 高中化学盐溶液酸碱性判断谁能告诉我基本判断酸碱性所 涉及的 阴阳离子和一些根所显的酸碱性(就是显:强酸 弱酸 强碱 弱碱 这样) 高中语文名著摘抄5句 有关化学2溶液酸碱性问题相同浓度的ph为9的醋酸钠和ph为4的醋酸等体积混合,\溶液为酸性还是碱性?求详解 , 【高中化学】酸碱性判断在由水电离产生H+浓度为1*10^-13次方mol/L 的溶液中,为什么既可以是强碱溶液,也可以是强酸溶液? 提纯混有少量氯化钠的硝酸钾固体 化学-盐溶液的酸碱性NaF溶液中离子浓度有大到小的排列顺序为?(标答是:Na+>F->OH->H+) 常温下,将0.1mol/L氢氧化钠溶液与0.06mol/L硫酸溶液等体积混合,该混合溶液的pH等于多少? 提纯硝酸钾中混有少量氯化钠是将谁提出来 20℃时的氯化钠的溶解度是36g,它表示:( ).为什么?1、20℃时,氯化钠饱和溶液中溶剂和溶质的质量比为100:362、20℃时,100g氯化钠饱和溶液中含有36g氯化钠3、20℃时,氯化钠饱和溶液的质量是136g 水的电离和溶液的酸碱性 向纯水中加入酸或碱 水电离出的H+与OH-的量如何变化?酸碱里举一例说明即可. 下列有关电解质溶液中微粒的物质的量浓度关系正确的是D.常温下,CH3COONa和CH3COOH混合溶液[pH=7,c(Na+)=0.1mol·L-1]:c(Na+)= c(CH3COO-)> c(CH3COOH)> c(H+)= c(OH-) 20℃时,食盐的溶解度为36g,现有20℃时饱和食盐溶液100克和200克,在温度不变的情况下,各蒸发掉10克水,析出晶体分别是多少 硝酸钾中含有少量氯化钠的提纯方法 高中化学 选项B为什么是错误的. 酸碱性化学题食醋是日常饮食中的一种调味剂,对改善食物的口感、增进食物消化等都有独特的功能.利用滴定分析法可以测定食醋总酸含量【食醋总酸含量是指100mol食醋中含酸(以醋酸计) 已知KNO3中混有少量的NaCl 提纯的步骤是加水溶解 蒸发浓缩 降温结晶 过滤 洗涤 干燥蒸发浓缩和降温结晶什么意思啊 谁教下 高中化学,A为什么不对?为了探究常见金属单质M与盐溶液的反应,某同学进行了下列实验,实验过程及现象如图所示,结合实验现象判断,该同学得出的下列结论中正确的是( )A,加入的金属M不 水的电离和溶液的酸碱性在纯水中存在以下平衡 2H2O=(可逆)H3O+ +OH- 若使水的电离平衡逆向移动 且H+浓度减小 通入氨气为什么不可以? 提纯混有NaCl的KNO3的方法具体操作是怎么样的? 高纯度单晶硅做计算机芯片是因为其有良好导电性 湖北高二理科上学期物理,生物课本有哪些 高中化学,答案是C,求解析,感谢! 求又能当高中语文摘抄又好看的小说 是福建省的 答案是c,不懂为什么,高中化学 关于初中化学实验——粗盐提纯(疑问现象)今天在化学实验室做提纯实验,第一次失败了.我在操作几个步骤中,都是严格按照初中教材书上所说,溶解、过滤、蒸发、称量.可是在蒸发步骤时, 都有什么重点呢? 将0.2mol氧化锰和50ml 12mol/L盐酸混合后缓缓加热,反应完全后向留下的溶液中加入足量硝酸银溶液,生成的氯化银沉淀物质的量为(不考虑盐酸的挥发)A 等于0.3molB 小于0.3molC 大于0.3mol,小于0.6molD 提纯粗盐的步骤和实验现象,结论, 化学溶液的酸碱性计算向200mL纯水中加入1滴(0.05mL)0.2mol/氢氧化钡溶液,pH变为多少向200mL纯水中加入1滴(0.05mL)0.2mol/L氢氧化钡溶液,pH变为多少 提纯含有少量硝酸钾的氯化钠固体rt 高一粗盐的提纯实验设计方案 要求是表格形式 步骤、现象、结论、化学方程式.表格形式表格内容有步骤、现象、结论、化学方程式 化学-溶液的酸碱性和pH在中性溶液中,为何“pH=7”、“c(OH-)=c(H+)=1*10^(-7)”不成立. 而要从含有少量氯化钠的硝酸钾溶液中提纯硝酸钾,一般采用什么? 粗盐提纯的步骤和现象rt 酸碱性食物有哪些 当硝酸钾中含有少量氯化钠时,可用 法提纯硝酸钾 C,D选项求解释 聊城初中数学,物理,化学一共几本书,哪几本? 食物的酸碱与化学上所指的溶液的酸碱性的不同请简要说明```谢谢 求名家美文摘抄!大约四段就够了,要有感受和评论,要写明出处………………火速!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn