clscrypt.vb

来自「字符串加密解密类 可以加密和解密字符串」· VB 代码 · 共 33 行

VB
33
字号
'字符串加密、解密类
Imports System.Security.Cryptography
Public Class ClsCrypt
    Private TripleDES As New TripleDESCryptoServiceProvider
    Private Function TruncateHash(ByVal key As String, ByVal length As Integer)
        Dim sha1 As New SHA1CryptoServiceProvider
        Dim keyBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(key)
        Dim hash() As Byte = sha1.ComputeHash(keyBytes)
        ReDim Preserve hash(length - 1)
        Return hash
    End Function
    Public Sub New(ByVal key As String)
        TripleDES.Key = TruncateHash(key, TripleDES.KeySize \ 8)
        TripleDES.IV = TruncateHash("", TripleDES.BlockSize \ 8)
    End Sub
    Public Function EncryptString(ByVal Mytext As String) As String
        Dim MytextBytes() As Byte = System.Text.Encoding.Unicode.GetBytes(Mytext)
        Dim ms As New System.IO.MemoryStream
        Dim encStream As New CryptoStream(ms, TripleDES.CreateEncryptor(), CryptoStreamMode.Write)
        encStream.Write(MytextBytes, 0, MytextBytes.Length)
        encStream.FlushFinalBlock()
        Return Convert.ToBase64String(ms.ToArray)
    End Function
    Public Function Decryptstring(ByVal Mytext As String) As String
        Dim MytextBytes() As Byte = Convert.FromBase64String(Mytext)
        Dim ms As New System.IO.MemoryStream
        Dim decStream As New CryptoStream(ms, TripleDES.CreateDecryptor(), CryptoStreamMode.Write)
        decStream.Write(MytextBytes, 0, MytextBytes.Length)
        decStream.FlushFinalBlock()
        Return System.Text.Encoding.Unicode.GetString(ms.ToArray)
    End Function
End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?