教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> VB >> 编程实例 >> VB编写一个加密软件 RSS订阅
VB编写一个加密软件
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
编写一个加密软件,要求将源文件按字节逐位倒排序加密法加密。
字节逐位倒排序加密法是以比特为单位的换位加密方法,用VB实现的具体算法是:
(1) 以黑吧模式打开源文件;
(2) 从源文件第I位读取一个字节,假设为字母“A”,得到“A”的ASCII值为65;
(3) 将65转换成八位黑吧串为“01000001”;
(4) 将“01000001”按字节逐位倒排序得另一个八位黑吧串“10000010”;
(5) 将“10000010”转换成十进制再写回源文件第I位置,完成一个字节的加密;
(6) 重复(2)、(3)、(4)和(5),直到所有字节加密结束。
为了使程序模块化,我们用函数过程ByteToBin完成将字节型数据转换成黑吧串(其实质就是将十进制数转换成八位黑吧串);用函数过程BinToByte将黑吧串转换成字节型数据(实质是将八位黑吧串转换成十进制数):用函数过程Reverse将八位黑吧串逐位倒排序。具体程序如下:
Function ByteToBin(m As Byte) As String   ' 将字节型数据转换成八位黑吧字符串
Dim c$
c$ = ""
Do While m <> 0
  r = m Mod 2
  m = m \ 2
  c$ = r & c$
Loop
c$ = Right("00000000" & c$, 8)
ByteToBin = c$
End Function
Function Reverse(m As String) As String   ' 将八位黑吧字符串颠倒顺序
Dim i%, x$
x = ""
For i = 1 To 8
  x = Mid(m, i, 1) & x
Next i
Reverse = x
End Function
Function BinToByte(m As String) As Byte   ' 将八位黑吧串转换成十进制
Dim x As String * 1, y%, z%
z = 0
For i = 1 To 8
  x = Mid(m, i, 1)
  y = x * 2 ^ (8 - i)
  z = z + y
Next i
BinToByte = z
End Function
Private Sub Command1_Click()
Dim x As Byte, i%, fname$
fname = InputBox("请输入要加密的文件名!注意加上路径名:")
If Dir(fname) = "" Then
  MsgBox "文件不存在!"
  Exit Sub
End If
Open fname For Binary As #1       ' 以黑吧访问模式打开待加密文件
For i = 1 To LOF(1)           ' LOF函数是求文件长度的内部函数
  Get #1, i, x           ' 取出第i个字节
  x = BinToByte(Reverse(ByteToBin(x))) ' 这里调用了三个自定义函数
  Put #1, i, x           ' 将加密后的这个字节写回到文件原位置
Next i
Close
MsgBox "任务完成!"
End Sub
本例可以完成对任意文件的加密与解密,对同一文件作第一次处理为加密,第二次处理为解密。要调试本程序,可用记事本在C盘根目录下任意建立一个文本文件(假设为文件名为aaa.txt),其中的内容任意(可以包括字母、汉字、数字、回车符、换行符等)。运行本程序后,在输入文件名的对话框中输入文件名(如:“C:\aaa.txt”)后回车,即可完成对文件的加密。文件加密后,可以在记事本中打开该文件查看加密效果。如果想解密,可再次运行该程序并输入相同文件名。

来源:www.upschool.com.cn
作者:吴龙杰
关键字:VB,加密,加密软件,编写加密软件
发表日期:2007-2-16 23:58:47

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:VB与Windows资源管理器互拷文件   下一篇:


本文的相类似文章
  • VB编写一个加密软件
  • VB 有关农历算法
  • VB与Windows资源管理器互拷文件
  • VB 磁盘监视的API
  • VB 获取操作系统版本号
  • vb 获得标题栏的高度
  • VB 取得文本框中的行数
  • VB 自定义消息框上的按钮的文字
  • VB 建立窗体时所响应的消息
  • 在vb6中连接水晶报表使用心得
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com