VB.NET加密文件实现技巧分享

开发 后端
在VB.NET编程语言中,有许多方法可以对程序进行加密,提高程序安全性。今天就为大家介绍一个常用的VB.NET加密文件方法,希望对大家有所帮助。

VB.NET编程环境可以帮助开发人员打造一个性能稳定,安全可靠的编程平台,帮助开发人员大大提高编程效率。本文介绍使用XOR加密算法对数据进行加密, 这是一种很简单的算法,使用了尽量简单的VB编程方法,通俗易懂。我们可以采用更安全的算法如DES算法,IDEA算法等。各位如有任何见解,请不吝赐教。

在窗体中添加一RichTextBox,设置其Name属性为SourceFile,Multiline属性为True,ScrollBars属性为3-both。添加一MainMenu,设置一菜单项“文件”,其下有“打开”,“保存”,“加密”,“解密”,“算子”等子菜单项。

以下是大致的VB.NET加密文件的程序界面:

  1. Public Class Form1   
  2. Inherits System.Windows.Forms.Form   
  3. Dim strNum As String   
  4. Private Sub Form1_Load(ByVal eventSender
     As System.Object, ByVal eventArgs 
    As System.EventArgs) Handles MyBase.Load   
  5. strNum = "password"   
  6. End Sub   
  7. Private Sub Form1_Resize(ByVal event
    Sender As System.Object, ByVal eventArgs
     As System.EventArgs) Handles MyBase.Resize   
  8. SourceFile.Width = Form1.DefInstance.Width   
  9. SourceFile.Height = Form1.DefInstance.Height   
  10. End Sub  

解密过程,对xor算法而言,解密和VB.NET加密文件的过程是完全一样的

  1. Private Function XorOut(ByRef 
    strNum As String, ByRef strText 
    As String) As String   
  2. Dim i As Integer   
  3. Dim XorValue1 As Short   
  4. Dim XorValue2 As Short   
  5. Dim strResult As String   
  6. For i = 1 To Len(strText)   
  7. XorValue1 = Asc(Mid(strText, i, 1))   
  8. XorValue2 = Asc(Mid(strNum, 
    (i Mod Len(strNum)) + 1, 1))   
  9. strResultstrResult = strResult & 
    Chr(XorValue1 Xor XorValue2)   
  10. Next   
  11. XorOut = strResult   
  12. End Function   
  13.  
  14. Private Sub MenuDeEncrypt_Click
    (ByVal sender As System.Object, 
    ByVal e As System.EventArgs) 
    Handles MenuDeEncrypt.Click   
  15. SourceFile.Text = XorOut(strNum, 
    (SourceFile.Text))   
  16. End Sub   
  17.  
  18. Private Sub MenuEncrypt_Click
    (ByVal sender As System.Object,
     ByVal e As System.EventArgs) 
    Handles MenuEncrypt.Click   
  19. SourceFile.Text = XorOut(strNum,
     (SourceFile.Text))   
  20. End Sub   
  21.  
  22. Private Sub MenuOpen_Click(ByVal 
    sender As System.Object, ByVal e
     As System.EventArgs) Handles 
    MenuOpen.Click   
  23. Dim openFile1 As New OpenFileDialog   
  24. ' Determine whether the user 
    selected a file from the OpenFileDialog.   
  25. If (openFile1.ShowDialog() = 
    DialogResult.OK) _   
  26. And (openFile1.FileName.Length > 0) Then   
  27.  
  28. ' Load the contents of the 
    file into the RichTextBox.   
  29. SourceFile.LoadFile(openFile1.FileName, _   
  30. RichTextBoxStreamType.PlainText)   
  31. End If   
  32. End Sub   
  33.  
  34. Private Sub MenuSave_Click(ByVal 
    sender As System.Object, ByVal e As
     System.EventArgs) Handles MenuSave.Click   
  35. ' Create a SaveFileDialog to request 
    a path and file name to save to.   
  36. Dim saveFile1 As New SaveFileDialog   
  37. ' Initialize the SaveFileDialog to 
    specify the RTF extension for the file.   
  38. 'saveFile1.DefaultExt = "*.rtf"   
  39. 'saveFile1.Filter = "RTF Files|*.rtf"   
  40. ' Determine if the user selected a 
    file name from the saveFileDialog.   
  41. If (saveFile1.ShowDialog() = DialogResult.OK) _   
  42. And (saveFile1.FileName.Length) > 0 Then   
  43. ' Save the contents of the 
    RichTextBox into the file.   
  44. SourceFile.SaveFile(saveFile1.FileName, _   
  45. RichTextBoxStreamType.PlainText)   
  46. End If   
  47. End Sub   
  48. Private Sub MenuNum_Click(ByVal 
    sender As System.Object, ByVal e 
    As System.EventArgs) Handles MenuNum.Click   
  49. strNum = InputBox("请输入加密算子",
     "设置加密算子")   
  50. End Sub   
  51. End Class  

VB.NET加密文件的相关编写过程就为大家介绍到这里。

【编辑推荐】

  1. VB.NET数组赋值怪异现象揭秘
  2. VB.NET自定义属性应用方式解析
  3. VB.NET异常迭代捕捉代码示例
  4. VB.NET共享成员变量创建技巧解析
  5. 范例解读VB.NET获取环境变量
责任编辑:曹凯 来源: blue1000.com
相关推荐

2010-01-07 13:40:50

VB.NET读取XML

2010-01-15 19:04:09

2010-01-18 18:50:26

VB.NET鼠标手势

2010-01-14 16:04:32

VB.NET显示时间

2010-01-18 16:41:47

VB.NET用户登录页

2010-01-18 10:26:19

VB.NET中心旋转图

2010-01-13 10:25:30

VB.NET文件夹操作

2010-01-14 14:46:57

2010-01-22 11:02:30

VB.NET创建新变量

2010-01-13 15:52:59

VB.NET浮动窗体

2009-11-10 13:27:30

VB.NET RND(

2010-01-22 13:16:05

VB.NET初始化数组

2010-01-13 16:45:44

VB.NET删除控件

2010-01-11 15:31:04

VB.NET拖动窗体

2010-01-08 18:31:45

VB.NET历史菜单

2010-01-12 17:02:54

VB.NET文件上传

2010-01-19 15:30:44

VB.NET比较运算符

2010-01-22 16:27:19

VB.NET关于对话框

2010-01-15 19:24:42

2010-01-07 10:02:53

Flash控制VB.N
点赞
收藏

51CTO技术栈公众号