91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET中怎么實現字符串加密解密

發布時間:2021-07-20 11:40:48 來源:億速云 閱讀:452 作者:Leah 欄目:編程語言

這篇文章給大家介紹VB.NET中怎么實現字符串加密解密,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

VB.NET字符串加密解密的安全說明:

與 DES 相比,Rijndael(現在稱為“高級加密標準”[AES])和“三重數據加密標準”(3DES) 算法提供的安全性更高,原因是破解它們所需的計算量更大。有關更多信息,請參見 DES 和 Rijndael。

創建加密包裝器

將加密命名空間的導入語句添加到文件開頭。

  1. Visual Basic  

  2. Imports System.
    Security.Cryptography 

創建用來封裝加密和解密方法的類。

  1. Visual Basic  

  2. Public NotInheritable 
    Class Simple3Des  

  3. End Class 

添加用來存儲 3DES 加密服務提供程序的私有字段。

  1. Visual Basic  

  2. Private TripleDes As New 
    TripleDESCryptoServiceProvider 

添加私有方法,該方法將從指定密鑰的哈希創建指定長度的字節數組。

  1. Visual Basic  

  2. Private Function TruncateHash( _  

  3. ByVal key As String, _  

  4. ByVal length As Integer) _  

  5. As Byte()  

  6. Dim sha1 As New SHA1Crypto
    ServiceProvider  

  7. ' Hash the key.  

  8. Dim keyBytes() As Byte = _ 

  9. System.Text.Encoding.Unicode.
    GetBytes(key)  

  10. Dim hash() As Byte = sha1.
    ComputeHash(keyBytes)  

  11. ' Truncate or pad the hash.  

  12. ReDim Preserve hash(length - 1)  

  13. Return hash  

  14. End Function 

添加用來初始化 3DES 加密服務提供程序的構造函數。

key 參數控制 EncryptData 和 DecryptData 方法。

  1. Visual Basic  

  2. Sub New(ByVal key As String)  

  3. ' Initialize the crypto
     provider.  

  4. TripleDes.Key = TruncateHash
    (key, TripleDes.KeySize \ 8)  

  5. TripleDes.IV = TruncateHash
    ("", TripleDes.BlockSize \ 8)  

  6. End Sub 

添加VB.NET字符串加密解密之加密的公共方法。

  1. Visual Basic  

  2. Public Function EncryptData( _  

  3. ByVal plaintext As String) _  

  4. As String  

  5. ' Convert the plaintext 
    string to a byte array.  

  6. Dim plaintextBytes() As Byte = _ 

  7. System.Text.Encoding.Unicode.
    GetBytes(plaintext)  

  8. ' Create the stream.  

  9. Dim ms As New System.IO.MemoryStream  

  10. ' Create the encoder to 
    write to the stream.  

  11. Dim encStream As New CryptoStream(ms, _  

  12. TripleDes.CreateEncryptor(), _  

  13. System.Security.Cryptography.
    CryptoStreamMode.Write)  

  14. ' Use the crypto stream to write 
    the byte array to the stream.  

  15. encStream.Write(plaintextBytes, 0, 
    plaintextBytes.Length)  

  16. encStream.FlushFinalBlock()  

  17. ' Convert the encrypted stream 
    to a printable string.  

  18. Return Convert.ToBase64String
    (ms.ToArray)  

  19. End Function 

添加VB.NET字符串加密解密之解密的公共方法。

  1. Visual Basic  

  2. Public Function DecryptData( _  

  3. ByVal encryptedtext As String) _  

  4. As String  

  5. ' Convert the encrypted text 
    string to a byte array.  

  6. Dim encryptedBytes() As Byte = 
    Convert.FromBase64String(encryptedtext)  

  7. ' Create the stream.  

  8. Dim ms As New System.IO.MemoryStream  

  9. ' Create the decoder to write to the stream.  

  10. Dim decStream As New CryptoStream(ms, _  

  11. TripleDes.CreateDecryptor(), _  

  12. System.Security.Cryptography.
    CryptoStreamMode.Write)  

  13. ' Use the crypto stream to write 
    the byte array to the stream.  

  14. decStream.Write(encryptedBytes, 0, 
    encryptedBytes.Length)  

  15. decStream.FlushFinalBlock()  

  16. ' Convert the plaintext stream to a string.  

  17. Return System.Text.Encoding.Unicode.
    GetString(ms.ToArray)  

  18. End Function 

包裝類現在可用來保護用戶資產了。在本示例中,它用于在可公開訪問的文本文件中安全地存儲私有用戶數據。

測試VB.NET字符串加密解密包裝器

在其他類中添加一個方法,該方法將使用包裝器的 EncryptData 方法為字符串加密,并將它寫入用戶的“我的文檔”文件夾。

  1. Visual Basic  

  2. Sub TestEncoding()  

  3. Dim plainText As String = 
    InputBox("Enter the plain text:")  

  4. Dim password As String = 
    InputBox("Enter the password:")  

  5. Dim wrapper As New Simple3Des
    (password)  

  6. Dim cipherText As String = 
    wrapper.EncryptData(plainText)  

  7. MsgBox("The cipher text is: " & 
    cipherText)  

  8. My.Computer.FileSystem.WriteAllText( _  

  9. My.Computer.FileSystem.Special
    Directories.MyDocuments & _  

  10. "\cipherText.txt", cipherText, False)  

  11. End Sub 

添加一個方法,該方法將從用戶的“我的文檔”文件夾讀取加密字符串,并使用包裝器的 DecryptData 方法為字符串解密。

  1. Visual Basic  

  2. Sub TestDecoding()  

  3. Dim cipherText As String = 
    My.Computer.FileSystem.ReadAllText( _  

  4. My.Computer.FileSystem.Special
    Directories.MyDocuments & _  

  5. "\cipherText.txt")  

  6. Dim password As String = 
    InputBox("Enter the password:")  

  7. Dim wrapper As New Simple3Des
    (password)  

  8. ' DecryptData throws if the 
    wrong password is used.  

  9. Try  

  10. Dim plainText As String = 
    wrapper.DecryptData(cipherText)  

  11. MsgBox("The plain text is: " 
    & plainText)  

  12. Catch ex As System.Security.
    Cryptography.CryptographicException  

  13. MsgBox("The data could not be
     decrypted with the password.")  

  14. End Try  

  15. End Sub 

添加用于調用 TestEncoding 和 TestDecoding 方法的用戶界面代碼。

關于VB.NET中怎么實現字符串加密解密就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建德市| 牡丹江市| 平泉县| 西丰县| 鹤岗市| 彝良县| 刚察县| 襄城县| 安新县| 武乡县| 五指山市| 广汉市| 忻州市| 尼勒克县| 大安市| 大田县| 六枝特区| 舞钢市| 连江县| 伊金霍洛旗| 西吉县| 汶上县| 永宁县| 张家界市| 井冈山市| 凤翔县| 多伦县| 巴彦县| 通江县| 英吉沙县| 杭州市| 利辛县| 天水市| 枣强县| 方正县| 富锦市| 本溪市| 安国市| 荔波县| 四子王旗| 松桃|