分享

VB.NET实现文件加密

 趋明 2012-02-16
    本文介绍使用XOR加密算法对数据进行加密,这是一种很简单的算法,使用了尽量简单的VB编程方法,通俗易懂。我们可以采用更安全的算法如DES算法,IDEA算法等。各位如有任何见解,请不吝赐教。

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

Public Class Form1
      Inherits System.Windows.Forms.Form
      Dim strNum As String
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
          strNum = "password"
End Sub

Private Sub Form1_Resize(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Resize
          SourceFile.Width = Form1.DefInstance.Width
          SourceFile.Height = Form1.DefInstance.Height
      End Sub
      ''''解密过程,

gg2{Tdy^网QS*8s无U,f
对xor算法而言,解密和加密过程是完全一样的
      Private Function XorOut(ByRef strNum As String, ByRef strText As String) As String
          Dim i As Integer
          Dim XorValue1 As Short
          Dim XorValue2 As Short
          Dim strResult As String
          For i = 1 To Len(strText)
              XorValue1 = Asc(Mid(strText, i, 1))
              XorValue2 = Asc(Mid(strNum, (i Mod Len(strNum)) + 1, 1))
              strResult = strResult & Chr(XorValue1 Xor XorValue2)
          Next
          XorOut = strResult
      End Function

      Private Sub MenuDeEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuDeEncrypt.Click
          SourceFile.Text = XorOut(strNum, (SourceFile.Text))
      End Sub

      Private Sub MenuEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuEncrypt.Click
          SourceFile.Text = XorOut(strNum, (SourceFile.Text))
      End Sub

      Private Sub MenuOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuOpen.Click
          Dim openFile1 As New OpenFileDialog
          '''' Determine whether the user selected a file from the OpenFileDialog.
          If (openFile1.ShowDialog() = DialogResult.OK) _
              And (openFile1.FileName.Length > 0) Then

              '''' Load the contents of the file into the RichTextBox.
              SourceFile.LoadFile(openFile1.FileName, _
                  RichTextBoxStreamType.PlainText)
          End If
      End Sub

      Private Sub MenuSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuSave.Click
          '''' Create a SaveFileDialog to request a path and file name to save to.
          Dim saveFile1 As New SaveFileDialog

          '''' Initialize the SaveFileDialog to specify the RTF extension for the file.
          ''''saveFile1.DefaultExt = "*.rtf"
          ''''saveFile1.Filter = "RTF Files|*.rtf"

          '''' Determine if the user selected a file name from the saveFileDialog.
          If (saveFile1.ShowDialog() = DialogResult.OK) _
              And (saveFile1.FileName.Length) > 0 Then

              '''' Save the contents of the RichTextBox into the file.
              SourceFile.SaveFile(saveFile1.FileName, _
                  RichTextBoxStreamType.PlainText)
          End If
      End Sub

      Private Sub MenuNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuNum.Click
          strNum = InputBox("请输入加密算子", "设置加密算子")
      End Sub
End Class

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多