Bu adım adım kılavuzda, bir .NET sınıf kitaplığının Visual Basic for Applications aramak için kullanın. Bu örnek, bir Visual Basic for Applications programı şifrelemek ve dize şifresini çözmek için bir Visual Basic .NET sınıf kitaplığının nasıl kullanacağınızı gösterir. .NET dahil şifreleme ad kullanabileceğiniz Framework, şifreleme/şifre çözme için.
Visual Basic .NET sınıf kitaplığı oluşturma
Microsoft Visual Studio .NET'i başlatın. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın. Visual Basic Projects altında Sınıf kitaplığı seçin. Sınıf CryptoClass adlandırın ve sonra Tamam ' ı tıklatın. Class1, varsayılan olarak oluşturulur.
Class1 içeriğini aşağıdaki kodla değiştirin:
Imports System.Security.Cryptography
<ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)> Public Class Class1
Public Const ClassId As String = "98349785-8BE2-4604-848D-F5B103D61715"
Public Const InterfaceId As String = "36613EE9-125F-493d-9968-771E18C2226A"
Public Const EventsId As String = "A036F02F-F87E-4548-A536-7DD7EA8E62B5"
Const sKey As String = "MyKey"
Public Function EncryptTripleDES(ByVal sIn As String) As String
Dim DES As New TripleDESCryptoServiceProvider()
Dim hashMD5 As New MD5CryptoServiceProvider()
' Compute the MD5 hash.
DES.Key = hashMD5.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(sKey))
' Set the cipher mode.
DES.Mode = CipherMode.ECB
' Create the encryptor.
Dim DESEncrypt As ICryptoTransform = DES.CreateEncryptor()
' Get a byte array of the string.
Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(sIn)
' Transform and return the string.
Return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length))
End Function
Public Function DecryptTripleDES(ByVal sOut As String) As String
Dim DES As New TripleDESCryptoServiceProvider()
Dim hashMD5 As New MD5CryptoServiceProvider()
' Compute the MD5 hash.
DES.Key = hashMD5.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(sKey))
' Set the cipher mode.
DES.Mode = CipherMode.ECB
' Create the decryptor.
Dim DESDecrypt As ICryptoTransform = DES.CreateDecryptor()
Dim Buffer As Byte() = Convert.FromBase64String(sOut)
' Transform and return the string.
Return System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length))
End Function
End Class
Not GUID üreticisi, Classıd, ınterfaceıd ve EventsId için yeni bir Guıd oluşturmak için kullanabilirsiniz. Yeni bir Guıd oluşturmak için <a0></a0>, Araçlar menüsünden Oluştur GUID ' i tıklatın.
Proje Özellikleri, Yapılandırma özellikleri ' ni seçin. Oluştur ' u tıklatın ve sonra da COM birlikte çalışma için kaydı seçin onay kutusu. Tamam ' ı tıklatın.
Bir Visual Basic for Applications makrosu .NET sınıf kitaplığı arama oluşturma
Microsoft Excel'i başlatın. Visual Basic Düzenleyicisi'ni başlatmak için ALT+F11 tuşlarına basın.
Ekle menüsünde boş bir modül eklemek için modülü ' nü tıklatın.
Araçlar menüsünde, Başvurular ' ı tıklatın. CryptoClass kitaplığa bir başvuru ekleyin ve Tamam ' ı tıklatın.
Module1 kod penceresinde aşağıdaki kodu yapıştırın veya yazın:
Sub TestCrypto()
Dim oCrypto As New CryptoClass.Class1
Dim sCrypt As String
sCrypt = oCrypto.EncryptTripleDES("This is a test")
MsgBox "Encrypted text = " & sCrypt
MsgBox "Decrypted text = " & oCrypto.DecryptTripleDES(sCrypt)
End Sub
Kod sınayın.
Araçlar menüsünden makrolar ' ı tıklatın. Makroları listesini TestCrypto ' ı tıklatın ve sonra da <a2>Çalıştır</a2>'ı tıklatın.
Şifrelenmiş dize gösteren bir ileti kutusu görüntülenirse, Tamam ' ı tıklatın. Şifresi çözülen dize gösteren ikinci BIR ileti kutusu görünür.
Sınıf kitaplığı, .NET Framework çalıştıran başka bir bilgisayarda kayıtlı olması gerekiyorsa, DLL sisteme kopyalayın ve aşağıdaki komutu çalıştırın:
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.