Clever-Excel-Forum

Normale Version: Excel-Passwort per ROT13 verschlüsseln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich möchte gerne mein Passwort verschlüsseln, damit mein Passwort nicht klar im VBA-Editor sichtbar ist. Dafür habe ich auf dieser Seite https://www.herber.de/forum/archiv/1080t...htbar.html folgenden Code gefunden:


Function strCrypt(strText) As String
    Dim lngS As Long, strTemp As String

    For lngS = 1 To Len(strText)
        strTemp = strTemp & Chr(Asc(Mid(strText, lngS, 1)) + lngS)
    Next
    strCrypt = strTemp
End Function

Function strDeCrypt(strText) As String
    Dim lngS As Long, strTemp As String

    For lngS = 1 To Len(strText)
        strTemp = strTemp & Chr(Asc(Mid(strText, lngS, 1)) - lngS)
    Next
    strDeCrypt = strTemp
End Function


Ich verstehe allerdings nicht, wie ich diesen Code einbaue und anwende, da meine VBA-Kenntnisse gegen 0 streben. Kann mir jemand beim Implementieren helfen? Ich danke Euch sehr im Voraus.
(25.03.2020, 10:14)m0nkey_d schrieb: [ -> ]ich möchte gerne mein Passwort verschlüsseln, damit mein Passwort nicht klar im VBA-Editor sichtbar ist.

Moin!
Dann hilft Dir ROT13 gleich mal gar nicht.
Schließlich musst Du der Funktion Dein Kennwort im Klartext übergeben.

Sehr viel sinnvoller ist es, gleich das VBA-Projekt mit einem Kennwort zu versehen.
Ist zwar auch "knackbar", erfordert aber eine gewisse Energie.

Oder Du versteckst es recht effizient in den .CustumProperties eines Tabellenblatts.

https://www.clever-excel-forum.de/Thread...-Smarttags

Gruß Ralf
Hallo,

trage es mit Humor:

Rot13 ist eher ein Spiel für den Teenie-Geburtstag. Wenn Du verschlüsseln möchtest, versuche es mit XOR.

Ungeprüft:

Code:
sub X_or()
dim By() as byte

pass = "Geheim"
By = pass
for b = 0 to ubound(By) step 2
     Cipher = Cipher & chr(By(b) xor 200)
next b
msgbox Cipher
end sub

Der Code ver- und entschlüsselt das supergeheime Password.

mfg

Ok, etwas ernsthafter:

beschreibe genauer, wie das password schützen, wieviele user Zugang erhalten sollen und ob es ein gemeinsamen fileserver gibt, bzw an jedem relevanten Pc etwas gespeichert werden kann.

Vorallem: Warum ist das Excel WorkBook.Open Password nicht ausreichend (ist nach kryptographischen Regeln relativ gut)
Hallo,

hier eine etwas verrückte Idee von mir, welche ich im Jahr 2007 hatte. Ich hänge sie in den Anhang.

Gruß
Marcus
Hi, entschuldigt bitte die späte Antwort. Leider war ich in diesen Zeiten arbeitstechnisch stark verhindert.


Ich habe inzwischen ein Passwort für den VBA-Editor eingestellt; vielen Dank für den Hinweis RPP63.
Könntest du mir noch erklären, was du hiermit meinst: "Oder Du versteckst es recht effizient in den .CustumProperties eines Tabellenblatts."? Auch aus dem Link bin ich leider nicht schlauer geworden.

Ich danke allen anderen ebenfalls für die ihre Beiträge, aber leider werde ich aus diesen nicht schlauer, da es mir - wie gesagt - an VBA-Kenntnissen mangelt und ich die Fachbegriffe in Euren Texten nicht verstehe.
Könnt ihr mir das vielleicht nochmal versuchen naherzubringen? Vielen Dank im Voraus.


Beste Grüße und bleibt gesund!
Hallo @marose67

vielen Dank für deinen Code.Er hat mir sehr geholfen.

Kannst du mir sagen, wie ich deinen Code so umändern kann, dass alles in Zelle B1 stattfindet? Das Eingabewort, das verschlüsselte Wort und das entschlüsselte Wort soll in derselben Zelle angezeigt werden.

Ich wäre dir sehr verbunden. LG 
Vielleicht nicht die eleganteste Lösung, aber ich habe es durch eine kleine Ergänzung (nämlich mit der Zelle C1 als Puffer) geschafft:




Code:
Sub Passwort_verschlüsseln()
    Dim bprop(25, 2) As Variant
    Dim bprop2(25) As Variant
    Dim i As Integer
    Dim AnzahlZ As Integer
    Dim Zeichen As Variant
    Dim zufall As Variant
    Randomize Timer
    zufall = Int(9 * Rnd) + 1
    AnzahlZ = Len(Range("B1"))
    Range("C1").ClearContents
   
        For i = AnzahlZ To 1 Step -1
            bprop(i, 1) = Right(Mid(Range("B1"), i, 1), 1)
                For Zeichen = 225 To 33 Step -1
                    If bprop(i, 1) = Chr(Zeichen) Then bprop(i, 1) = Chr(Zeichen + zufall)
                Next
            bprop2(i) = bprop(i, 1)
            Range("C1") = Range("C1") & bprop2(i)
        Next
           
    Range("C1") = Range("C1") & zufall
    Range("B1") = Range("C1")
    Range("C1").ClearContents
End Sub

Sub Passwort_entschlüsseln()
    Dim bprop(25, 2) As Variant
    Dim bprop2(25) As Variant
    Dim i As Integer
    Dim AnzahlZ As Integer
    Dim Zeichen As Variant
    Dim zufall As Variant
    zufall = Right(Range("B1"), 1)
    Range("C1").ClearContents
    AnzahlZ = Len(Range("B1")) - 1
    For i = AnzahlZ To 1 Step -1
        bprop(i, 1) = Right(Mid(Range("B1"), i, 1), 1)
        For Zeichen = 43 To 235
            If bprop(i, 1) = Chr(Zeichen) Then bprop(i, 1) = Chr(Zeichen - zufall)
        Next
        bprop2(i) = bprop(i, 1)
        Range("C1") = Range("C1") & bprop2(i)
    Next
    Range("C1") = Range("C1")
    Range("B1") = Range("C1")
    Range("C1").ClearContents
End Sub



Ich danke Euch allen.