码迷,mamicode.com
首页 > Web开发 > 详细

VB.Net 字符串加密类

时间:2015-04-05 10:20:43      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

 

Public Class Cls_JM


    使用
    Dim Jm As New Cls_JM(2)
    Dim strTmp As String

    Jm.jiemi(strTmp)
    Jm.Jiami(strTmp)

    Private TripleDes As New System.Security.Cryptography.TripleDESCryptoServiceProvider

    Private Function TruncateHash(ByVal key As String, ByVal length As Integer) As Byte()
        Dim sha1 As New System.Security.Cryptography.SHA1CryptoServiceProvider   Hash the key.  
        Dim keyBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(key)
        Dim hash() As Byte = sha1.ComputeHash(keyBytes)   Truncate or pad the hash. 
        ReDim Preserve hash(length - 1)
        Return hash
    End Function

    Sub New(ByVal key As String)   Initialize the crypto provider.  
        TripleDes.Key = TruncateHash(key, TripleDes.KeySize \ 8)
        TripleDes.IV = TruncateHash("", TripleDes.BlockSize \ 8)
    End Sub

    Public Function jiami(ByVal plaintext As String) As String   Convert the plaintext string to a byte array. 
        Dim plaintextBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(plaintext)   Create the stream. 
        Dim ms As New System.IO.MemoryStream   Create the encoder to write to the stream. 
        Dim encStream As New System.Security.Cryptography.CryptoStream(ms, TripleDes.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write)   Use the crypto stream to write the byte array to the stream. 
        encStream.Write(plaintextBytes, 0, plaintextBytes.Length)
        encStream.FlushFinalBlock()   Convert the encrypted stream to a printable string. 
        Return Convert.ToBase64String(ms.ToArray)
    End Function

    Public Function jiemi(ByVal encryptedtext As String) As String   Convert the encrypted text string to a byte array. 
        Dim encryptedBytes() As Byte = Convert.FromBase64String(encryptedtext)   Create the stream. 
        Dim ms As New System.IO.MemoryStream   Create the decoder to write to the stream. 
        Dim decStream As New System.Security.Cryptography.CryptoStream(ms, TripleDes.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write)   Use the crypto stream to write the byte array to the stream. 
        decStream.Write(encryptedBytes, 0, encryptedBytes.Length)
        decStream.FlushFinalBlock()   Convert the plaintext stream to a string. 
        Return System.Text.Encoding.Unicode.GetString(ms.ToArray)
    End Function


End Class

 

VB.Net 字符串加密类

标签:

原文地址:http://www.cnblogs.com/yhsc/p/4393670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!