萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> VB.net2008實例 編寫文字加解密程序

VB.net2008實例 編寫文字加解密程序

   本篇文章的主要開發環境是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控件。

  相關屬性設置如下:

VB.net2008實例 編寫文字加解密程序

  我們適當地調整界面,界面設置效果如下:圖2

VB.net2008實例 編寫文字加解密程序

  程序界面設置好後,我們需要創建類,在類中來輸入與此程序相關的代碼

  選擇<項目>---<添加類>---文件命名為:csmode 如圖3

  在編程之前首先我們需要知道System.Security.Cryptography 命名空間

  System.Security.Cryptography 命名空間提供加密服務,包括安全的數據編碼和解碼

  介紹部分常用的枚舉

VB.net2008實例 編寫文字加解密程序

  介紹部分常用的枚舉進入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

VB.net2008實例 編寫文字加解密程序

  程序運行成功,以上是一個簡單的文字加密與解密程序的編寫過程,希望大家可以舉一反三,利用這種思路可以編寫出功能更強大的加解密程序。

copyright © 萬盛學電腦網 all rights reserved