使用vb.net加密和解密文件。(好象英文灵,中文不灵) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 使用vb.net加密和解密文件。(好象英文灵,中文不灵) (http://www.webasp.net/article/4/3967.htm) |
| -- 作者:未知 -- 发布日期: 2003-07-12 |
| 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 |
| webasp.net |