Base64:(2)在DotNet 2.0实现DES加密算法中应用Base64

 相关的Namespace请参考者自行导入。

Public   Shared   Function DesEncrypt() Function DesEncrypt(ByVal strInput As StringAs String
            
Dim objDesCrypSrvPrvd As DESCryptoServiceProvider
            
Dim objMemoryStream As MemoryStream = Nothing
            
Dim objCryptoStream As CryptoStream = Nothing

            
Dim byteKey() As Byte = Text.Encoding.ASCII.GetBytes(mstrKey)
            
Dim byteData() As Byte = Text.Encoding.ASCII.GetBytes(strInput)

            
Try
                objDesCrypSrvPrvd 
= New DESCryptoServiceProvider
                objMemoryStream 
= New MemoryStream
                objCryptoStream 
= New CryptoStream(objMemoryStream, objDesCrypSrvPrvd.CreateEncryptor(byteKey, byteKey), CryptoStreamMode.Write)
                objCryptoStream.Write(byteData, 
0, byteData.Length)
                objCryptoStream.FlushFinalBlock()

                
Return Convert.ToBase64String(objMemoryStream.ToArray)
            
Catch ex As Exception
                
Throw New Exception("eHR.eHRDatabase.DesDecrypt:" & ex.Message, ex)
            
Finally
                objMemoryStream.Dispose()
                objCryptoStream.Dispose()
                objDesCrypSrvPrvd 
= Nothing
            
End Try
        
End Function


        
Public   Shared   Function DesDecrypt() Function DesDecrypt(ByVal strInput As StringAs String
            
Dim objDesCrypSrvPrvd As DESCryptoServiceProvider
            
Dim objMemoryStream As MemoryStream = Nothing
            
Dim objCryptoStream As CryptoStream = Nothing
            
Dim objEncoding As Text.Encoding

            
Dim byteKey() As Byte = Text.Encoding.ASCII.GetBytes(mstrKey)
            
Dim byteData() As Byte = Convert.FromBase64String(strInput)

            
Try
                objDesCrypSrvPrvd 
= New DESCryptoServiceProvider
                objMemoryStream 
= New MemoryStream
                objEncoding 
= New ASCIIEncoding

                objCryptoStream 
= New CryptoStream(objMemoryStream, objDesCrypSrvPrvd.CreateDecryptor(byteKey, byteKey), CryptoStreamMode.Write)
                objCryptoStream.Write(byteData, 
0, byteData.Length)
                objCryptoStream.FlushFinalBlock()

                
Return objEncoding.GetString(objMemoryStream.ToArray)
            
Catch ex As Exception
                
Throw New Exception("eHR.eHRDatabase.DesEncrypt:" & ex.Message, ex)
            
Finally
                objMemoryStream.Dispose()
                objCryptoStream.Dispose()
                objDesCrypSrvPrvd 
= Nothing
            
End Try
        
End Function

转载于:https://www.cnblogs.com/LazzyTiger/archive/2008/05/05/1182903.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值