使用vb.net加密和解密文件。(好象英文灵,中文不灵)

加密|解密|中文

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:\temp\test.txt", _
                        "c:\temp\Encrypted.txt", _
                        sSecretKey)
        DecryptFile("c:\temp\Encrypted.txt", _
                    "c:\temp\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

时间: 2024-09-16 12:02:54

使用vb.net加密和解密文件。(好象英文灵,中文不灵)的相关文章

CIW实验教程:用PGP加密和解密文件

1.使用Windows Notepad 创建文件pgpstudentx(x 为座位号),文件内容为This file is en crypted. 2.单击开始菜单>程序> PGP>PGPtools 498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' src="/files/uploadimg/20051219/0228150.jpg"> 3.选择Encrypt/Sign图标(左起

php使用异或(XOR)加密和解密文件

php 使用异或(XOR)加密/解密文件 原理:将文件每一个字节与key作位异或运算(XOR),解密则再执行一次异或运算. 代码如下: 01.<?php 02.03.$source = 'test.jpg';04.$encrypt_file = 'test_enc.jpg';05.$decrypt_file = 'test_dec.jpg';06.$key = 'D89475D32EA8BBE933DBD299599EEA3E';07.08.echo '<p>source:</p&

android使用AES加密和解密文件实例代码

前言 最近公司需要对本公司的一些下载文件进行加密解密需求,也就尝试去实现下,其实需要借助第三方的jar包:bcprov-jdk15on-155.jar,下载这个可以到网上搜或者下载本人的demo即可,注意:需要加密和解密的key是一致的才可以解密,不然就会解密失败.不多说,直接上代码. 效果图 代码: 实现加密解密逻辑代码 package com.vsoontech.p2p.sample; import java.io.IOException; import java.io.InputStrea

采用Cipher DES针对文件加密、解密

由于经常用一些加密或者解密文件的,所以写了一个简单的采用Cipher DES针对文件加密.解密的工具类,记录一下,防止以后忘记了! import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStrea

怎样用 Tar 和 OpenSSL 给文件和目录加密及解密

当你有重要的敏感数据的时候,给你的文件和目录额外加一层保护是至关重要的,特别是当你需要通过网络与他人传输数据的时候. 由于这个原因,我在寻找一个可疑在 Linux 上加密及解密文件和目录的实用程序,幸运的是我找到了一个用 tar(Linux 的一个压缩打包工具)和 OpenSSL 来解决的方案.借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件. 在这篇文章中,我们将了解如何使用 OpenSSL 创建和加密 tar 或 gz(gzip,另一种压缩文件)归档文件: 牢记使用 Open

怎样用Tar和OpenSSL给文件和目录加密及解密

当你有重要的敏感数据的时候,给你的文件和目录额外加一层保护是至关重要的,特别是当你需要通过网络与他人传输数据的时候. 由于这个原因,我在寻找一个可疑在 Linux 上加密及解密文件和目录的实用程序,幸运的是我找到了一个用 tar(Linux 的一个压缩打包工具)和 OpenSSL 来解决的方案.借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件. 在这篇文章中,我们将了解如何使用 OpenSSL 创建和加密 tar 或 gz(gzip,另一种压缩文件)归档文件: 牢记使用 Open

使用VB.NET加密文件

加密 本文介绍使用XOR加密算法对数据进行加密, 这是一种很简单的算法,使用了尽量简单的VB编程方法,通俗易懂.我们可以采用更安全的算法如DES算法,IDEA算法等.各位如有任何见解,请不吝赐教. 在窗体中添加一RichTextBox,设置其Name属性为SourceFile,Multiline属性为True,ScrollBars属性为3-both.添加一MainMenu,设置一菜单项"文件",其下有"打开","保存","加密"

.net 下文件加密和解密

加密|解密 关键词:.net 2005  Framework 加密解密文件正文:用XML文件记录配置信息时,有时候不希望别人看到配置信息的内容.怎么才能实现呢.这里介绍几种常见的加密和解密算法.这些算法Framework已经封装好了.我们不用理会具体的实现,只需要会用就行.下面给出一个源程序供大家参考.using System;using System.Security.Cryptography;using System.IO;using System.Text;namespace coder{

PB连接描述文件的密码加密及其解密原理

本文阐述PB开发环境下数据库连接描述文件的密码加密和解密原理. 加密原理:首先将原字符串反转(reverse),逐个字符取ASCII并由10进制转为16进制值,然后转为小写,最后末尾加'00'作为结束符.解密原理:去掉末尾'00',将原字符串反转(reverse),每2个字符由16进制转为10进制值,即ASCII值,根据ASCII取字符,累积到一个字符串,这就是真正的登录密码. 在PB开发环境下要连接数据库必须预先创建一个描述文件,该描述文件的条目写在注册表HKEY_CURRENT_USERSo