使用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 |