Anzeige
Archiv - Navigation
1680to1684
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kennwort / Sicherheitsmarke mit Datum

Kennwort / Sicherheitsmarke mit Datum
28.03.2019 12:11:28
Jan
Hallo
ich versuche eine Art Validierungscode / Kennwort / Wasserzeichen zu erstellen. Ziel soll sein einen Code auf Dokumente zu Schreiben, der Datum, Tag, Zähler und einen frei wählbaren Key enthält. Aus diesem Code soll kein direkter Zusammenhang auf die Eingabekriterien hergestellt werden können / erkennbar sein.
Mit Hilfe des Keys soll dieser Code wieder entschlüsselbar sein.
Anbei ein Beispiel:
https://www.herber.de/bbs/user/128716.xls
Gibt es dazu Schlagworte? Nach was muss ich suchen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Krypto?
28.03.2019 12:26:54
Fennek
Hallo,
es ist möglich Daten/Keys in Excel recht gut zu verstecken, z.B. den Propeerties eines Sheets.
Zum Verschlüsseln eignet sich XOR, dass recht einfach angewendet werden kann.
Aus der Beispieldatei kann ich nicht erkennen, was der "Plaintext" und die "Cipher" sein soll und wer was sehen und ggf entschlüsseln können soll.
Also bitte ein paar zusätzliche Erklärungen.
mfg
AW: Krypto?
28.03.2019 12:53:54
Jan
Öffnetlich sichtbar soll nur das Kennwort (Cipher) sein.
Key, Datum, Wochentag, Uhrzeit, Zähler sollen geheim bleiben (Plaintext).
Es wird eine Passwortgeschütze .xlsx geben, um die "Kennwörter" zu generien und zu entschlüsseln. Der Key wird extern sicher gespeichert und nur bei Bedarf in der .xlsx temporär eingeben.
Anzeige
AW: Beispiel
28.03.2019 14:06:53
Fennek
Hallo,
als Demo für die Beispieldatei. Das Datum, Wochentag und Zeit wird in ein Excel-Datum gewandelt, dann mit einem variablen Password eine XOR Verknüpfung gemacht.
Als Beweis, dass es umkehrbar ist, wird der Klartext wieder ausgegeben.
In der echten Version wird nur die Cipher übermittelt und es bedarf einer Prozedur für das Password.

Const key As String = "Das_geheime_Passwort"
Sub iXOR()
Dim Tag As Date
Dim By() As Byte
Dim Ky() As Byte
Ky = StrConv(key, vbFromUnicode)
'######## zum Testen ######
Range("A5:E8").Copy Range("A11")
For i = 11 To 14
Tag = Cells(i, 1) + Cells(i, 3)
By = StrConv(CDbl(Tag) & "|||" & Cells(i, 4) & "|" & Cells(i, 5), vbFromUnicode)
Debug.Print StrConv(By, vbUnicode)
For b = 0 To UBound(By)
By(b) = By(b) Xor Ky(b Mod Len(key))
Next b
Cells(i, 7) = StrConv(By, vbUnicode)
For b = 0 To UBound(By)
By(b) = By(b) Xor Ky(b Mod Len(key))
Next b
Cells(i, 9).Resize(, 5) = Split(StrConv(By, vbUnicode), "|")
Next i
End Sub
mfg
Anzeige
AW: Base64
28.03.2019 14:37:40
Fennek
Hallo,
da das Ergebnis der XOR-Verschlüsselung ein Byte-Code ist, der auch Steuerzeichen enthalten könnte, sollte noch mit Base64 kodiert werden. Dann enthält die Cipher nur alfanumerische Zeichen.
In Test war es erfolgreich und kann in die nächste Version integriert werden.
mfg
AW: Base64
28.03.2019 15:56:34
Jan
vielen Dank für deine Mühen ich muss mich auch hier kurz reinarbeiten und testen.
AW: Beispiel
28.03.2019 18:13:09
Fennek
Die Datei sollte als xlsx gespeichert werden und der Makro von aussen darauf zugreifen. Das Password wird im Moment in der Datei gespeichert ("dümmster aller Fehler"), kann aber natürlich geändert werden.
Es müssen Sheets mit bestimmten Namen existiere, aber auch das kann per Makro gemacht werden.
https://www.herber.de/bbs/user/128730.xlsm
PS: Wenn es um ein "Wasserzeichen", also etwas wir eige Signatur geht, kann dies auch per hash gelöst werden.
Anzeige
AW: Beispiel
29.03.2019 07:59:55
Jan
Im Prinzip geht es um sicherheitsrelevante Abnahmeprotokolle. Wenn ein gefälschtes Protokoll auftaucht, soll der Sicherheitscode zeigen, dass das Protokoll gefälscht ist, da Datum etc. nicht zurückgerechnet werden können. Der Key ist personenbezogen, somit ist klar wer das Dokument erstellt hat, wenn das "Kennwort" korrekt ist.
Das Kennwort muss jetzt keine Atomsicherheitsbestimmung gerecht werden, aber eine offensichtliche Kombination wie:
2190329MM1200
ist zu offensichtlich.
AW: Wie ist die Prozedur?
29.03.2019 08:29:52
Fennek
Hallo,
verweg: Excel ist nicht für sicherheitsrelevante Aufgaben ausgelegt!
Kryptographie schützt eine Nachricht AUF DEM UNSICHEREN WEG.
Aber so wie ich dich vertanden habe, sollen mehrere Personen Einträge in EIN Workbook vornehmen. Wenn Person B die Einträge von Person A nicht sehen darf, hilft eine Verschlüsselung wie gezeigt. Wenn nur eine Änderung auffallen soll, reicht eine (versteckter) hash. Aber dann ist eine Prozedur für Fehleingabe nötig und eine Authentifierung der Berechtigten.
Konzipiere zuerst die Prozdur (Wer darf was wann, wer hat Zugang zum PC, zur Datei und zur Übermittlung, wer kontrolliert) und dann kann man überlegen, ob und wie sicher dies in Excel machbar ist.
mfg
Anzeige
AW: Kennwort / Sicherheitsmarke mit Datum
28.03.2019 13:29:01
Rudi
Hallo,
aus meinem Giftschrank:
Sub startEncryptDecrypt()
Dim sText As String, sKey
Dim i As Long, j As Long, arrText, iLast As Integer
Application.ScreenUpdating = False
sKey = Application.InputBox("Schlüssel?", "Schlüsseleingabe")
If sKey = False Or sKey = "" Then Exit Sub
arrText = ActiveSheet.UsedRange
For i = 1 To UBound(arrText)
For j = 1 To UBound(arrText, 2)
sText = arrText(i, j)
EncryptDecrypt sText, sKey, iLast
arrText(i, j) = sText
Next j
Next i
ActiveSheet.UsedRange = arrText
Application.ScreenUpdating = True
End Sub

Sub EncryptDecrypt(ByRef szData As String, ByVal sKey As String, ByRef iLast As Integer)
Dim n As Long
Dim bytData() As Byte
Dim lCount As Long
n = iLast
bytData = szData
For lCount = LBound(bytData) To UBound(bytData)
If n >= Len(sKey) Then
n = 1
Else
n = n + 1
End If
bytData(lCount) = bytData(lCount) Xor Asc(Mid(sKey, n, 1))
Next lCount
szData = bytData
iLast = n
End Sub
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige