Postupy: Volání knihovny tříd jazyka .NET z jazyka pro aplikace v aplikaci Microsoft Office

Překlady článku Překlady článku
ID článku: 317535 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Použít Tento podrobný návod k volání knihovna tříd .NET z jazyka pro aplikace. Tento příklad ukazuje Visual Basic for Applications program může použití knihovny třídy Visual Basic .NET k šifrování a dešifrování řetězec. Použití názvů kryptografie zahrnuty .NET Framework pro šifrování či dešifrování.

Vytvoření knihovny tříd jazyka .NET

  1. Spusťte aplikaci Visual Studio .NET. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt. Ve skupinovém rámečku Jazyka projekty vyberte Knihovny tříd. Název třídy CryptoClass a klepněte na tlačítko OK. Ve výchozím nastavení vytvořen Class1.
  2. Obsah Class1 nahraďte následující kód:

    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
    						

    Poznámka: Generátor GUID můžete použít ke generování nové GUID pro ID třídy, InterfaceId a EventsId. Generovat nové GUID, klepněte v nabídce NástrojeVytvořit GUID.
  3. Z Vlastnosti projektu vyberte Konfigurace vlastnosti. Klepněte na tlačítko Sestavit a potom vyberte zaregistrovat COM InterOp políčko. Klepněte na tlačítko OK.
  4. V nabídce vytvořit klepněte na tlačítko Sestavit řešení vytvořit DLL.

Vytvoření maker aplikace pro volání knihovny tříd .NET jazyka

  1. Spuštění Aplikace Microsoft Excel. Stisknutím kombinace kláves ALT+F11 spusťte aplikaci Visual Basic Editor.
  2. V nabídce Vložit klepněte na modul vložit prázdné modulu.
  3. V nabídce Nástroje klepněte na odkazy. Přidat odkaz na knihovnu CryptoClass a klepněte na tlačítko OK.
  4. Zadejte nebo vložte následující kód v okně kódu Module1:
    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
    					

Testování kódu

  1. V nabídce Nástroje klepněte na tlačítko makra. V seznamu maker TestCrypto klepněte a potom klepněte na příkaz Spustit.
  2. Pokud se zobrazí okno zprávy zobrazující šifrované řetězec, klepněte na tlačítko OK. Zobrazí druhé pole zprávy zobrazující dešifrované řetězec.
  3. Pokud knihovna tříd musí být registrován v jiném počítači se systémem .NET Framework, zkopírujte DLL systému a spusťte následující příkaz:
    /tlb:CryptoClass.tlb regasm CryptoClass.dll

Odkazy

Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
301070Postupy: Zašifrovat a dešifrovat soubor pomocí jazyka .NET
Další informace naleznete na následujícím webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx

Vlastnosti

ID článku: 317535 - Poslední aktualizace: 29. března 2007 - Revize: 8.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Office Word 2003
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
Klíčová slova: 
kbmt kbcrypt kbsecurity kbhowtomaster KB317535 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:317535

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com