| 本文介紹使用XOR加密算法對(duì)數(shù)據(jù)進(jìn)行加密,這是一種很簡(jiǎn)單的算法,使用了盡量簡(jiǎn)單的VB編程方法,通俗易懂。我們可以采用更安全的算法如DES算法,IDEA算法等。各位如有任何見解,請(qǐng)不吝賜教。       在窗體中添加一RichTextBox,設(shè)置其Name屬性為SourceFile,Multiline屬性為True,ScrollBars屬性為3-both。添加一MainMenu,設(shè)置一菜單項(xiàng)“文件”,其下有“打開”,“保存”,“加密”,“解密”,“算子”等子菜單項(xiàng)。以下是大致的程序界面:
 Public Class Form1Inherits 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
 ''''解密過(guò)程,
 gg2{Tdy^網(wǎng)QS*8s無(wú)U,f對(duì)xor算法而言,解密和加密過(guò)程是完全一樣的 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.ClickSourceFile.Text = XorOut(strNum, (SourceFile.Text))
 End Sub
       Private Sub MenuEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuEncrypt.ClickSourceFile.Text = XorOut(strNum, (SourceFile.Text))
 End Sub
       Private Sub MenuOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuOpen.ClickDim 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.ClickstrNum = InputBox("請(qǐng)輸入加密算子", "設(shè)置加密算子")
 End Sub
 End Class
 |