VB.net教程:编写文字加解密程序
作者:转载自:更新时间:2010-12-8

本文的主要开发环境是Visual Studio 2008,Visual Studio系列产品一直以来都提供了强大的控件功能,然而利用这些控件可以编写出功能强大的应用程序,Visual Studio2008在一些特性上也做出了许多的改进。本文主要利用微软的最新.net开发工具为大家展示文字加密与解密的应用方法,为大家介绍创建基本加密与解密程序的一些技巧。很适合.net开发工具的初学者,具有一定的实用价值。

打开Visual Studio 2008在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。单击确定 (OK)
选择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

代码输入完毕,接下来运行程序进行测试。

原文地址:https://www.xin3721.com/Article/xin3721_Article_13771.html

关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们     黑ICP备07002182号