vb.net 对文件内的多行加密代码进行des解密

''' <summary>
''' 存在多行加密数据的文件解密
''' </summary>
''' <param name="encryptedFile">加密文件源文件完整路径及其名称</param>
''' <param name="DeclassifiedFile">加密后文件存放路径及其名称</param>
''' <param name="key">密码</param>
''' <param name="iv">偏移量</param>
Private Sub FileDecrypt(encryptedFile As String, DeclassifiedFile As String, key As String, iv As String)
    Dim fstream As FileStream = Nothing
    Dim fswrite As FileStream = Nothing
    Dim sr As StreamReader = Nothing
    Dim cs As CryptoStream = Nothing
    Try
        Dim btKey As Byte() = Encoding.Default.GetBytes(key)
        Dim btIV As Byte() = Encoding.Default.GetBytes(iv)
        Dim des As New DESCryptoServiceProvider With { '设置des解码模式
            .Mode = CipherMode.ECB,
            .Padding = PaddingMode.Zeros
        }
        fstream = New FileStream(encryptedFile, FileMode.Open, FileAccess.Read) '文件读取
        fswrite = New FileStream(DeclassifiedFile, FileMode.Create, FileAccess.Write) '文件写入
        sr = New StreamReader(fstream)
        cs = New CryptoStream(fswrite, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write)

        Dim strLine As String = sr.ReadLine
        Do While strLine IsNot Nothing
            Try
                Dim inData As Byte() = Convert.FromBase64String(strLine) 'base64解码
                cs.Write(inData, 0, inData.Length)
                cs.Flush()
                fswrite.Flush() '存入文件
            Catch ex As Exception
            End Try
            strLine = sr.ReadLine() '读取下一行数据
        Loop

        MessageBox.Show("success")
    Catch ex As Exception

    Finally
        Try
            If sr IsNot Nothing Then
                sr.Dispose()
            End If
            If fstream IsNot Nothing Then
                fstream.Dispose()
            End If
            If fswrite IsNot Nothing Then
                fswrite.Dispose()
            End If
            If cs IsNot Nothing Then
                cs.Dispose()
            End If
        Catch ex As Exception

        End Try
    End Try

End Sub

一个文件可能存在多行加密数据,使用流逐行读取进行解密并存入新的文件中。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
压缩包 : MD5 skey8位加密文件).zip 列表 MD5 skey8位加密文件)/ MD5 skey8位加密文件)/bin/ MD5 skey8位加密文件)/Form1.Designer.vb MD5 skey8位加密文件)/Form1.resx MD5 skey8位加密文件)/Form1.vb MD5 skey8位加密文件)/MD5 skey8位加密文件).vbproj MD5 skey8位加密文件)/MD5 skey8位加密文件).vbproj.user MD5 skey8位加密文件)/My Project/ MD5 skey8位加密文件)/My Project/Application.Designer.vb MD5 skey8位加密文件)/My Project/Application.myapp MD5 skey8位加密文件)/My Project/AssemblyInfo.vb MD5 skey8位加密文件)/My Project/Resources.Designer.vb MD5 skey8位加密文件)/My Project/Resources.resx MD5 skey8位加密文件)/My Project/Settings.Designer.vb MD5 skey8位加密文件)/My Project/Settings.settings MD5 skey8位加密文件)/obj/ MD5 skey8位加密文件)/obj/Debug/ MD5 skey8位加密文件)/obj/Debug/CoreCompileInputs.cache MD5 skey8位加密文件)/obj/Debug/DesignTimeResolveAssemblyReferences.cache MD5 skey8位加密文件)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).exe MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).pdb MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).vbproj.FileListAbsolute.txt MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).vbproj.GenerateResource.Cache MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).vbprojResolveAssemblyReference.cache MD5 skey8位加密文件)/obj/Debug/MD5 skey8位加密文件).xml MD5 skey8位加密文件)/obj/Debug/TempPE/ MD5 skey8位加密文件)/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.exe MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.Form1.resources MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.pdb MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.Resources.resources MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.vbproj.FileListAbsolute.txt MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.vbproj.GenerateResource.Cache MD5 skey8位加密文件)/obj/Debug/WindowsApplication1.xml MD5 skey8位加密文件)/obj/Release/ MD5 skey8位加密文件).sln MD5 skey8位加密文件).v11.suo

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值