信息发布软件,b2b软件,广告发布软件

标题: 裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了 [打印本页]

作者: 群发软件    时间: 2017-5-16 13:27
标题: 裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了
本帖最后由 群发软件 于 2017-5-16 13:29 编辑

 本篇文章的主要开发环境是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实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件

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

  相关属性设置如下:

裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件


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

裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件

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

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

裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件


  在编程之前首先我们需要知道System.Security.Cryptography 命名空间  

  System.Security.Cryptography 命名空间提供加密服务,包括安全的数据编码和解码

介绍部分常用的枚举

裸奔的日子结束VB.net实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件



  介绍部分常用的枚举进入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实例编写文字加解密程序让您不再害怕被截取了明文信息了 b2b软件

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

[tr][/tr]
VB.net加密和解密文本文件的实现方法,乐博网提示:txt文件中如果是英文和数字的才有效,如果是中文的,加密就无效了,有用到中文字符加密的朋友要自己改进了。
代码如下:
Imports System
Imports System.IO
Imports System.Security
Imports System.Security.Cryptography
Imports System.Text

Module Encrypt
    Private Const sSecretKey As String = "password"

    Public Sub Main()
        EncryptFile("c:\乐博网\test.txt", _
                        "c:\乐博网\Encrypted.txt", _
                        sSecretKey)
        DecryptFile("c:\乐博网\Encrypted.txt", _
                    "c:\乐博网\Decrypted.txt", _
                    sSecretKey)
    End Sub

    Sub EncryptFile(ByVal sInputFilename As String, _
                       ByVal sOutputFilename As String, _
                       ByVal sKey As String)

        Dim fsInput As New FileStream(sInputFilename, _
                                    FileMode.Open, FileAccess.Read)
        Dim fsEncrypted As New FileStream(sOutputFilename, _
                                    FileMode.Create, FileAccess.Write)

        Dim DES As New DESCryptoServiceProvider()

        '为DES算法设置安全码.
        '必须是64位,8个字节
        DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)


        DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)

        '创建DES加密码实例
        Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
        '
        Dim cryptostream As New CryptoStream(fsEncrypted, _
                                            desencrypt, _
                                            CryptoStreamMode.Write)

        '读取文件到数组
        Dim bytearrayinput(fsInput.Length - 1) As Byte
        fsInput.Read(bytearrayinput, 0, bytearrayinput.Length)
        '写到加密文件中
        cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length)
        cryptostream.Close()
    End Sub

    Sub DecryptFile(ByVal sInputFilename As String, _
        ByVal sOutputFilename As String, _
        ByVal sKey As String)

        Dim DES As New DESCryptoServiceProvider()
        DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)
        DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)

        '读取加密文件万能营销 万能群发
        Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
        '
        Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor()
        '
        Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)
        '输出到解密文件
        Dim fsDecrypted As New StreamWriter(sOutputFilename)
        fsDecrypted.Write(New StreamReader(cryptostreamDecr).ReadToEnd)
        fsDecrypted.Flush()
        fsDecrypted.Close()
    End Sub
End Module

本演练演示如何借助 3DES (TripleDES) 算法的加密服务提供程序 (CSP) 版本,使用 DESCryptoServiceProvider 类加密和解密字符串。首先,创建封装 3DES 算法的简单包装器类,并将加密数据存储为 Base-64 编码字符串。之后,可使用该包装器在可公开访问的文本文件中安全地存储私有用户数据。

您可以使用加密来保护用户的机密信息(如密码),并使未经授权的用户无法读取凭据。这样可防止授权用户的身份被盗用,从而保护用户的资产并提供不可否认性。加密还可防止未经授权的用户访问用户数据。

VB.NET字符串加密解密的安全说明:

与 DES 相比,Rijndael(现在称为“高级加密标准”[AES])和“三重数据加密标准”(3DES) 算法提供的安全性更高,原因是破解它们所需的计算量更大。有关更多信息,请参见 DES 和 Rijndael。

创建加密包装器

将加密命名空间的导入语句添加到文件开头。


创建用来封装加密和解密方法的类。



添加用来存储 3DES 加密服务提供程序的私有字段。


添加私有方法,该方法将从指定密钥的哈希创建指定长度的字节数组。



添加用来初始化 3DES 加密服务提供程序的构造函数。

key 参数控制 EncryptData 和 DecryptData 方法。



添加VB.NET字符串加密解密之加密的公共方法。



作者: 小痞子    时间: 2017-5-16 22:26
真是收益匪浅
作者: 紫逸风    时间: 2017-5-19 15:23
心不懂就问他就告诉也不嫌弃烦不给好评等啥呢必须好评太给力了好多客人都说我家店铺好看。从来没有碰到过这么细心的店主,耐心,负责,产品也物美价廉,真是太值得了!
作者: yirenzhuang    时间: 2017-5-22 14:24
心,一直回答我。我自己一直弄不懂他很耐心。
作者: wbd902    时间: 2017-5-28 11:23
,方便实用,卖家很耐心回答问题,谢谢卖家
作者: kevin3898    时间: 2017-5-29 08:51
店找装修,我找了很久才确定要在这里做。事实证明我的选择没有错,客服也好设计师也好态度都很好,很好说话。过程中我的各种要求都能尽量满足我,我不好的提议方案也会指出来,以专业的眼光为我设计制作。以后有这方面的需求还是会来这里的。
作者: yiyi2014    时间: 2017-5-30 05:17
!很棒很专业,值得信任。
作者: 紫逸风    时间: 2017-5-31 14:41
的卖家,谢谢!
作者: zxj333    时间: 2017-6-3 04:04
度都不错




欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://www.postbbs.com/) Powered by Discuz! X3.2