本篇文章的主要開發環境是Visual Studio 2008,Visual Studio系列產品一直以來都提供了強大的控件功能,然而我們利用這些控件可以編寫出功能強大的應用程序,Visual Studio2008在一些特性上也做出了許多的改進。本文主要利用微軟的最新.net開發工具為大家展示文字加密與解密的應用方法,為大家介紹創建基本加密與解密程序的一些技巧。很適合.net開發工具的初學者,具有一定的實用價值。
打開Visual Studio 2008在文件 (File) 菜單上,單擊新建項目 (New Project)。 在新建項目 (New Project) 對話框的模板 (Templates) 窗格中,單擊 Windows 應用程序(Windows Application)。單擊確定 (OK) 如圖1。
選擇Form1窗體,在Form1窗體中添加如下控件:Label1、Label2、 Label3控件,TextBox1、TextBox2、TextBox3控件,Button1與Button2控件。
相關屬性設置如下:
我們適當地調整界面,界面設置效果如下:圖2
程序界面設置好後,我們需要創建類,在類中來輸入與此程序相關的代碼
選擇<項目>---<添加類>---文件命名為:csmode 如圖3
在編程之前首先我們需要知道System.Security.Cryptography 命名空間
System.Security.Cryptography 命名空間提供加密服務,包括安全的數據編碼和解碼
介紹部分常用的枚舉
介紹部分常用的枚舉進入csmode.vb類的代碼事件
輸入代碼:
Imports System
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Public Class csmode
Public Function Encrypt(ByVal StrInput As String) As String
Dim ByteInput As [Byte]() = Encoding.Default.GetBytes(StrInput)
Dim ms As New System.IO.MemoryStream
Dim DESC As New DESCryptoServiceProvider
Dim CStream As New CryptoStream(ms, DESC.CreateEncryptor(Encoding.Default.GetBytes("20000000"), Encoding.Default.GetBytes("字節數量")), CryptoStreamMode.Write)
CStream.Write(ByteInput, 0, ByteInput.Length)
CStream.FlushFinalBlock()
Return Convert.ToBase64String(ms.ToArray())
End Function
Public Function Decrypt(ByVal StrInput As String) As String
Dim ByteInput As [Byte]() = Convert.FromBase64String(StrInput)
Dim ms As New System.IO.MemoryStream
Dim DESC As New DESCryptoServiceProvider
Dim CStream As New CryptoStream(ms, DESC.CreateDecryptor(Encoding.Default.GetBytes("20000000"), Encoding.Default.GetBytes("字節數量")), CryptoStreamMode.Write)
CStream.Write(ByteInput, 0, ByteInput.Length)
CStream.FlushFinalBlock()
Return Encoding.Default.GetString(ms.ToArray())
End Function
End Class
選擇Form1窗體,進入代碼編輯器
首先進行聲明
Imports System
Imports System.IO
Imports System.Text
Public Class Form1
Inherits System.Windows.Forms.Form
進入Button1_Click事件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Encode As New csmode() '對文字進行加密
TextBox2.Text = Encode.Encrypt(TextBox1.Text)
End Sub
進入Button2_Click事件
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Decode As New csmode() '對文字進行解密
TextBox3.Text = Decode.Decrypt(TextBox2.Text)
End Sub
代碼輸入完畢,接下來運行程序進行測試。如圖4
程序運行成功,以上是一個簡單的文字加密與解密程序的編寫過程,希望大家可以舉一反三,利用這種思路可以編寫出功能更強大的加解密程序。