您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“VB.NET如何加密”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“VB.NET如何加密”這篇文章吧。
常見的VB.NET加密和編碼算法都已經在 .NET Framework中得到了實現,為編碼人員提供了極大的便利性,實現這些算法的名稱空間是:System.Security.Cryptography.System.Security.Cryptography命名空間提供VB.NET加密服務,包括安全的數據編碼和解碼,以及許多其他操作,例如散列法、隨機數字生成和消息身份驗證。System.Security.Cryptography是按如下方式組織的:
1、私鑰加密
私鑰加密又稱為對稱加密,因為同一密鑰既用于加密又用于解密。私鑰加密算法非常快(與公鑰算法相比),特別適用于對較大的數據流執行加密轉換。
.NET Framework 提供以下實現私鑰加密算法的類:
◆DES:DESCryptoServiceProvider
◆RC2:RC2CryptoServiceProvider
◆Rijndael(AES):RijndaelManaged
◆3DES:TripleDESCryptoServiceProvider
2、公鑰加密和數字簽名
公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以被任何人使用;該密鑰用于加密要發送到私鑰持有者的數據。兩個密鑰對于通信會話都是***的。公鑰加密算法也稱為不對稱算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。
.NET Framework 提供以下實現公鑰加密算法的類:
◆DSA:DSACryptoServiceProvider
◆RSA:RSACryptoServiceProvider
3、哈希(Hash)值
哈希算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據***且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數據的哈希值可以檢驗數據的完整性。
.NET Framework 提供以下實現數字簽名算法的類:
◆HMAC:HMACSHA1 (HMAC 為一種使用密鑰的 Hash 算法)
◆MAC:MACTripleDES
◆MD5:MD5CryptoServiceProvider
◆SHA1:SHA1Managed、SHA256Managed、SHA384Managed、SHA512Managed
4、隨機數生成
VB.NET加密密鑰需要盡可能地隨機,以便使生成的密鑰很難再現,所以隨機數生成是許多加密操作不可分割的組成部分。
在 .NET Framework 中,RNGCryptoServiceProvider 是隨機數生成器算法的實現,對于數據算法,.NET Framework 則在其它命名空間中實現,如 Convert 類實現 Base 64 編碼,System.Text 來實現編碼方式的轉換等。
簡單的例程:首先需要引用命名空間System.Security.Cryptography
MD5加密:
Dim md5 As MD5CryptoServiceProvider Dim bytValue() As Byte '要進行加密的字節數組 Dim bytHash() As Byte '加密后生成的字節數組 Dim result As String md5 = New MD5CryptoServiceProvider ' 將原始字符串轉換成字節數組 bytValue = System.Text.Encoding.UTF8.GetBytes(cpuid) ' 計算散列,并返回一個字節數組 bytHash = md5.ComputeHash(bytValue) md5.Clear() ' 字節數組轉換成字符串 result=Convert.ToBase64String(bytHash)
其他的也是類似的!可以自己去嘗試下的!
從以上來看,.NET Framework 對于數據加密/編碼還是支持比較好,大大地方便了開發人員,但美中不足的是,.NET Framework 中的數據加密算法仍然不夠完全,如 IDEA、BLOWFISH、其它算法,如ElGamal、Deffie-Hellman、ECC 等,對于一些其它的數據校驗算法支持也不夠,如 CRC、SFV 等,開發人員只能去從早期代碼做移植或者尋找第三方廠商的實現。
以上是“VB.NET如何加密”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。