Verschlüsseln und entschlüsseln von strings in Excel
Ich bin interessiert, ob es möglich ist zu tun-string-Verschlüsselung/Entschlüsselung mit Excel Visual Basic und einige cryptographic service provider.
Ich gefunden habe, eine Anleitung Verschlüsseln und Entschlüsseln von Strings in Visual Basic, aber es scheint, es gilt nur für standalone-nur Visual Basic.
Also würden Sie mir empfehlen ein anderes Verschlüsselungsverfahren oder zeigen, wie die Exemplarische Vorgehensweise verabschiedet werden könnte für Excel Visual Basic?
InformationsquelleAutor Alexander Prokofyev | 2009-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den link, den Sie bieten, zeigt, wie durchzuführen, string-Verschlüsselung und-Entschlüsselung verwenden VB.NET und damit, mit der .NET Framework.
Derzeit Microsoft Office-Produkte noch nicht verwenden Sie die Visual Studio-Tools für Anwendungen Komponente, die es ermöglichen, Office-Produkte zugreifen .NET framework, die BCL (base class libraries), die wiederum auf die zugrunde liegende Windows-KRYPTOGRAFIEDIENSTANBIETER (cryptographic server-Anbieter) und bieten einen schönen wrapper um die Verschlüsselung/Entschlüsselung Funktionen.
Vorerst Office-Produkten sind, hängt mit dem alten VBA ( Visual Basic für Applikationen ), die auf der Grundlage der alten VB6 (und älter) Versionen von visual Basic basieren auf COM, ist eher die Ausnahme .NET Framework.
Wegen all dieser, müssen Sie entweder Aufruf der Win32-API zum Zugriff auf die CSP-Funktionen, oder Sie werden zu "roll-your-own" - Verschlüsselung-Methode in reinem VB6/VBA-code, obwohl dies wahrscheinlich weniger sicher. Es hängt alles davon ab, wie "sicher" Sie möchten, dass Ihre Verschlüsselung.
Wenn Sie wollen "roll-your-own" - basic-string-encryption/decryption routine, nehmen Sie einen Blick auf diesen link für den Einstieg:
Verschlüsseln einen String Einfach
Besser XOR-Verschlüsselung mit einem lesbaren string
vb6 - Verschlüsselung-Funktion
Visual Basic 6 /VBA-String-Verschlüsselung/Entschlüsselung Funktion
Wenn Sie möchten, um Zugriff auf die Win32-API und verwenden Sie die zugrunde liegende Windows-KRYPTOGRAFIEDIENSTANBIETER (eine viel sicherere option) finden Sie in den folgenden links für detaillierte information, wie Sie diese erreichen:
So verschlüsseln Sie eine Zeichenfolge in Visual Basic 6.0
Zugang zu CryptEncrypt (CryptoAPI/WinAPI) Funktionen in VBA
Das Letzte Glied ist wahrscheinlich die, die Sie werden wollen und beinhaltet eine komplette VBA-Klassenmodul "wrap" den Windows-KRYPTOGRAFIEDIENSTANBIETER-Funktionen.
InformationsquelleAutor CraigTP
Erstellen Sie ein Klassenmodul namens clsCifrado:
Nun können Sie es verwenden, in Ihrem code:
zur Verschlüsselung
Zu descipher
InformationsquelleAutor user3407604
Können Sie rufen Sie Rohr excel-Zelle Daten über einen shell-Skript.
Installieren Sie die GPL Bert (http://bert-toolkit.com/) R-Sprache in der Excel-Schnittstelle.
Verwenden Sie die R-Skript in Excel pipe Zelle Daten an Bash /perl /gpg /openssl.
In Excel, die Sie ausprobieren können: C1=CRYPTIT(A1,A2) und C2=DECRYPTIT(C1,A2)
Optional: putclip speichert die entschlüsselten text in die Zwischenablage.
Beide Funktionen-Typen sind: String -> Zeichenfolge.
Üblichen Warnungen zu entkommen single-quotes in single-quoted strings.
InformationsquelleAutor mosh
Hier ist eine einfache symmetrische Verschlüsselung/Entschlüsselung Beispiel:
Bewusst sein, dass dies zum Absturz, wenn die von Ihr angegebenen input-string ist länger als die SECRET_PASSWORD. Dies ist nur ein Beispiel für den Einstieg.
InformationsquelleAutor CodeKid
Dieser code funktioniert gut für mich (3DES-Verschlüsselung/Entschlüsselung):
Speicher ich INITIALIZATION_VECTOR und TRIPLE_DES_KEY als Umgebungsvariablen (natürlich andere Werte als diese hier gepostet) und Sie mithilfe von VBA Environ () - Funktion, so dass alle sensiblen Daten (Passwörter) in VBA-code verschlüsselt ist.
Source-code von hier entnommen: https://gist.github.com/motoraku/97ad730891e59159d86c
Beachten Sie den Unterschied zwischen der original-code und meinem code, dass ist eine zusätzliche option encryption_object.Polsterung = 3 die Kräfte VBA nicht durchführen Polsterung. Mit padding-option 3 ich bekomme, genau wie in C++ Implementierung DES_ede3_cbc_encrypt-Algorithmus und die in Absprache mit, was produziert wird durch dieses online-tool.
InformationsquelleAutor OGCJN
Dieser code funktioniert in VBA und kann leicht verschoben werden VB.NET
Vermeidet den Umgang mit nicht "normalen" Zeichen. Sie entscheiden, in AllowedChars, was Zeichen zu ermöglichen.
InformationsquelleAutor user3579314