VB.net编程教程:编写文字加解密程序(附图)

日期: 2010-03-28 来源:TechTarget中国

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

  打开 Visual Studio 2008在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序(Windows Application)。单击确定 (OK) 如图1。

VB.net编程教程:编写文字加解密程序1

  选择Form1窗体,在Form1窗体中添加如下控件:Label1、Label2、 Label3控件,TextBox1、TextBox2、TextBox3控件,Button1与Button2控件。

  相关属性设置如下:

VB.net编程教程:编写文字加解密程序2

  我们适当地调整界面,界面设置效果如下:图2

VB.net编程教程:编写文字加解密程序3

  程序界面设置好后,我们需要创建类,在类中来输入与此程序相关的代码

  选择<项目>—<添加类>—文件命名为:csmode 如图3

VB.net编程教程:编写文字加解密程序4

  在编程之前首先我们需要知道System.Security.Cryptography 命名空间
 
  System.Security.Cryptography 命名空间提供加密服务,包括安全的数据编码和解码

  介绍部分常用的枚举

VB.net编程教程:编写文字加解密程序5

  介绍部分常用的枚举进入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.net编程教程:编写文字加解密程序6

  程序运行成功,以上是一个简单的文字加密与解密程序的编写过程,希望大家可以举一反三,利用这种思路可以编写出功能更强大的加解密程序。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。