重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了VB.NET如何实现DES加密,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元向阳做网站,已为上家服务,为向阳各地企业和个人服务,联系电话:028-86922220
VB.NET DES加密代码:
Imports System Imports System.Collections.Generic Imports System.Text Imports System.IO Imports System.Security Imports System.Security.Cryptography Namespace ZU14 NotInheritable Public Class DES Private iv As String = "1234的yzo" Private key As String = "123在yzo" '/'/ DES加密偏移量,必须是>=8位长的字符串 '/ Public Property IV() As String Get Return iv End Get Set iv = value End Set End Property '/'/ DES加密的私钥,必须是8位长的字符串 '/ Public Property Key() As String Get Return key End Get Set key = value End Set End Property '/'/ 对字符串进行DES加密 '/ '/ 待加密的字符串 '/加密后的BASE64编码的字符串 Public Function Encrypt(sourceString As String) As String Dim btKey As Byte() = Encoding.Default.GetBytes(key) Dim btIV As Byte() = Encoding.Default.GetBytes(iv) Dim des As New DESCryptoServiceProvider() Dim ms As New MemoryStream() Try Dim inData As Byte() = Encoding.Default.GetBytes(sourceString) Try Dim cs As New CryptoStream(ms, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write) Try cs.Write(inData, 0, inData.Length) cs.FlushFinalBlock() Finally cs.Dispose() End Try Return Convert.ToBase64String(ms.ToArray()) Catch End Try Finally ms.Dispose() End Try End Function 'Encrypt '/'/ 对DES加密后的字符串进行解密 '/ '/ 待解密的字符串 '/解密后的字符串 Public Function Decrypt(encryptedString As String) As String Dim btKey As Byte() = Encoding.Default.GetBytes(key) Dim btIV As Byte() = Encoding.Default.GetBytes(iv) Dim des As New DESCryptoServiceProvider() Dim ms As New MemoryStream() Try Dim inData As Byte() = Convert.FromBase64String(encryptedString) Try Dim cs As New CryptoStream(ms, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write) Try cs.Write(inData, 0, inData.Length) cs.FlushFinalBlock() Finally cs.Dispose() End Try Return Encoding.Default.GetString(ms.ToArray()) Catch End Try Finally ms.Dispose() End Try End Function 'Decrypt '/'/ 对文件内容进行DES加密 '/ '/ 待加密的文件绝对路径 '/ 加密后的文件保存的绝对路径 Overloads Public Sub EncryptFile(sourceFile As String, destFile As String) If Not File.Exists(sourceFile) Then Throw New FileNotFoundException("指定的文件路径不存在!", sourceFile) End If Dim btKey As Byte() = Encoding.Default.GetBytes(key) Dim btIV As Byte() = Encoding.Default.GetBytes(iv) Dim des As New DESCryptoServiceProvider() Dim btFile As Byte() = File.ReadAllBytes(sourceFile) Dim fs As New FileStream(destFile, FileMode.Create, FileAccess.Write) Try Try Dim cs As New CryptoStream(fs, des.CreateEncryptor(btKey, btIV), CryptoStreamMode.Write) Try cs.Write(btFile, 0, btFile.Length) cs.FlushFinalBlock() Finally cs.Dispose() End Try Catch Finally fs.Close() End Try Finally fs.Dispose() End Try End Sub 'EncryptFile '/'/ 对文件内容进行DES加密,加密后覆盖掉原来的文件 '/ '/ 待加密的文件的绝对路径 Overloads Public Sub EncryptFile(sourceFile As String) EncryptFile(sourceFile, sourceFile) End Sub 'EncryptFile '/'/ 对文件内容进行DES解密 '/ '/ 待解密的文件绝对路径 '/ 解密后的文件保存的绝对路径 Overloads Public Sub DecryptFile(sourceFile As String, destFile As String) If Not File.Exists(sourceFile) Then Throw New FileNotFoundException("指定的文件路径不存在!", sourceFile) End If Dim btKey As Byte() = Encoding.Default.GetBytes(key) Dim btIV As Byte() = Encoding.Default.GetBytes(iv) Dim des As New DESCryptoServiceProvider() Dim btFile As Byte() = File.ReadAllBytes(sourceFile) Dim fs As New FileStream(destFile, FileMode.Create, FileAccess.Write) Try Try Dim cs As New CryptoStream(fs, des.CreateDecryptor(btKey, btIV), CryptoStreamMode.Write) Try cs.Write(btFile, 0, btFile.Length) cs.FlushFinalBlock() Finally cs.Dispose() End Try Catch Finally fs.Close() End Try Finally fs.Dispose() End Try End Sub 'DecryptFile '/'/ 对文件内容进行DES解密,加密后覆盖掉原来的文件 '/ '/ 待解密的文件的绝对路径 Overloads Public Sub DecryptFile(sourceFile As String) DecryptFile(sourceFile, sourceFile) End Sub 'DecryptFile End Class 'DES End Namespace 'ZU14
VB.NET DES加密使用方法:
Dim des As New ZU14.DES() des.IV = "abcd哈哈笑" des.Key = "必须八位" Dim es As String = des.Encrypt("在") Console.WriteLine(es) Console.Write(des.Decrypt(es)) des.EncryptFile("d:\a.txt", "d:\b.txt") des.DecryptFile("d:\b.txt") Console.ReadKey(True)
感谢你能够认真阅读完这篇文章,希望小编分享的“VB.NET如何实现DES加密”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!