本篇文章的主要开发环境是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
首先进行声明
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
程序运行成功,以上是一个简单的文字加密与解密程序的编写过程,希望大家可以举一反三,利用这种思路可以编写出功能更强大的加解密程序。