VB.NET加密文件實現(xiàn)技巧分享
VB.NET編程環(huán)境可以幫助開發(fā)人員打造一個性能穩(wěn)定,安全可靠的編程平臺,幫助開發(fā)人員大大提高編程效率。本文介紹使用XOR加密算法對數(shù)據(jù)進行加密, 這是一種很簡單的算法,使用了盡量簡單的VB編程方法,通俗易懂。我們可以采用更安全的算法如DES算法,IDEA算法等。各位如有任何見解,請不吝賜教。
在窗體中添加一RichTextBox,設(shè)置其Name屬性為SourceFile,Multiline屬性為True,ScrollBars屬性為3-both。添加一MainMenu,設(shè)置一菜單項“文件”,其下有“打開”,“保存”,“加密”,“解密”,“算子”等子菜單項。
以下是大致的VB.NET加密文件的程序界面:
- 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 event
Sender As System.Object, ByVal eventArgs
As System.EventArgs) Handles MyBase.Resize- SourceFile.Width = Form1.DefInstance.Width
- SourceFile.Height = Form1.DefInstance.Height
- End Sub
解密過程,對xor算法而言,解密和VB.NET加密文件的過程是完全一樣的
- 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))- strResultstrResult = 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("請輸入加密算子",
"設(shè)置加密算子")- End Sub
- End Class
VB.NET加密文件的相關(guān)編寫過程就為大家介紹到這里。
【編輯推薦】