HOW TO: Chiamata di una libreria di classi Visual Basic .NET da Visual Basic, Applications Edition in Microsoft Office

Traduzione articoli Traduzione articoli
Identificativo articolo: 317535 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Utilizzare questa Guida dettagliata per chiamare una libreria di classi .NET da Visual Basic, Applications Edition. In questo esempio viene illustrato come un programma di applicazioni di Visual Basic è in possibile di utilizzare una libreria di classi Visual Basic .NET per crittografare e decrittografare una stringa. È possibile utilizzare lo spazio dei nomi crittografia, incluso in .NET Framework, per la crittografia o decrittografia.

Creare la libreria di classi Visual Basic .NET

  1. Avviare Microsoft Visual Studio .NET. Scegliere Nuovo dal menu file , quindi progetto . In Progetti di Visual Basic , selezionare Libreria di classi . Denominare la classe CryptoClass e scegliere OK . Per impostazione predefinita viene creato Class1.
  2. Sostituire il contenuto di Class1 con il codice riportato di seguito:

    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
    						

    Nota È possibile utilizzare il generatore GUID per generare nuovi GUID per ClassId, InterfaceId ed EventsId. Per generare nuovi GUID, fare clic su Crea GUID dal menu Strumenti .
  3. Proprietà , selezionare Proprietà di configurazione . Fare clic su Genera e selezionare il Registra per interoperabilità COM casella di controllo. Fare clic su OK .
  4. Scegliere dal menu Genera , Genera soluzione per creare la DLL.

Creare una macro di applicazioni chiamare la libreria di classi .NET di Visual Basic

  1. Avviare Microsoft Excel . Premere ALT+F11 per avviare Visual Basic Editor.
  2. Dal menu Inserisci , scegliere modulo per inserire un modulo vuoto.
  3. Nel menu Strumenti , fare clic su riferimenti . Aggiungere un riferimento alla libreria di CryptoClass e fare clic su OK .
  4. Digitare o incollare il codice riportato di seguito nella finestra codice di 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
    					

Il codice di test

  1. Nel menu Strumenti , fare clic su macro . Nell'elenco delle macro, fare clic su TestCrypto e quindi fare clic su Esegui .
  2. Se una finestra di messaggio viene visualizzata la visualizzazione la stringa crittografata, fare clic su OK . Verrà visualizzata una finestra di messaggio seconda, in che mostrano la stringa decrittografata.
  3. Se la libreria di classi deve essere registrato in un altro computer in esecuzione .NET Framework, copiare la DLL del sistema ed eseguire del seguente comando:
    Regasm CryptoClass.dll /tlb:CryptoClass.tlb

Riferimenti

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
301070Procedura: Crittografare e decrittografare un file utilizzando Visual Basic .NET
Per ulteriori informazioni, visitare il seguente sito Web di Microsoft Developer Network (MSDN) (informazioni in lingua inglese):
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx

Proprietà

Identificativo articolo: 317535 - Ultima modifica: giovedì 29 marzo 2007 - Revisione: 8.5
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi: 
kbmt kbcrypt kbsecurity kbhowtomaster KB317535 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 317535
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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