VB.NET DES 简易算法

'加密方法
    Public Function Encrypt(ByVal pToEncrypt As String, ByVal DesKey As String) As String
        Dim des As New Security.Cryptography.DESCryptoServiceProvider()
        Dim inputByteArray() As Byte
        inputByteArray = System.Text.Encoding.Default.GetBytes(pToEncrypt)
        des.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(DesKey)
        des.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(DesKey)
        Dim ms As New System.IO.MemoryStream()
        Dim cs As New Security.Cryptography.CryptoStream(ms, des.CreateEncryptor, Security.Cryptography.CryptoStreamMode.Write)
        cs.Write(inputByteArray, 0, inputByteArray.Length)
        cs.FlushFinalBlock()
        Dim ret As New System.Text.StringBuilder()
        Dim b As Byte
        For Each b In ms.ToArray()
            ret.AppendFormat("{0:X2}", b)
        Next
        Return ret.ToString()
    End Function

 

 

    '解密方法
    Public Function Decrypt(ByVal pToDecrypt As String, ByVal DesKey As String) As String
        Dim des As New Security.Cryptography.DESCryptoServiceProvider()
        Dim len As Integer
        len = pToDecrypt.Length / 2 - 1
        Dim inputByteArray(len) As Byte
        Dim x, i As Integer
        For x = 0 To len
            i = Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16)
            inputByteArray(x) = CType(i, Byte)
        Next
        des.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(DesKey)
        des.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(DesKey)
        Dim ms As New System.IO.MemoryStream()
        Dim cs As New Security.Cryptography.CryptoStream(ms, des.CreateDecryptor, Security.Cryptography.CryptoStreamMode.Write)
        cs.Write(inputByteArray, 0, inputByteArray.Length)
        cs.FlushFinalBlock()
        Return System.Text.Encoding.Default.GetString(ms.ToArray)
    End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值