Sonstiges String zu SHA256

Anhang ist für TIA 16, sollte aber auch auf andere Versionen portierbar sein.
Man muß allerdings TIA V16 haben, um das TIA-V16-Projekt in Deiner zip-Datei überhaupt erstmal öffnen zu können.
Tip: den Baustein (SCL ?) als Quelle exportieren, dann kann jeder den Quelltext ganz ohne TIA öffnen. Außerdem benötigt er dann viiieeel weniger Dateigröße.

Harald
 
Für was könnte ich diesen Baustein gebrauchen könnt ihr mir ein paar Beispiele nennen?

Gesendet von meinem SM-G970F mit Tapatalk

SHA256 wird genutzt um die Echtheit zu verifizieren.
Derjenige der Daten verschickt packt diese z.B. in ein Archiv. Von diesem Archiv wird nun die Prüfsumme z.B. mittels SHA256 erzeugt.
Anschließend wird das Archiv sowie der SHA256-Schlüssel verschickt.

Derjenige der die Datei erhält wird nun ebenfalls von genau diesem Archiv den SHA256-Hash erzeugen.
Der mitgesendete und selbst erzeugte Hash wird überprüft. Wenn er gleich ist, so kann davon ausgegangen werden das das Archiv nicht verändert wurde.


Bei Passwörtern zum Beispiel fragen sich viele warum ein Unternehmen ein Passwort verlangt, dieses aber angeblich nicht hat. Der Grund liegt hierin ebenfalls.
Der erzeugte SHA256-Code kann zwar immer wieder mit den gleichen Quelldaten erzeugt werden, aber es ist nicht möglich aus dem Hashcode die Daten zu ziehen. Somit wird das Passwort zwar von mir in Klartext eingegeben, dann in den Hashcode umgewandelt, aber nur der Hashcode wird übermittelt. Die Gegenstelle hat ebenfalls nur den Hashcode, vergleicht diesen, und kann dann sagen das der Code eben dem Ursprungspasswort entspricht, ohne dieses selbst zu kennen.
Zugegeben, besonders bei Passwörtern kommen noch mehrere Indizien oder auch andere Verfahren hinzu, dies ist aber nur ein Beispiel. Es ist auch möglich den Hashcode nochmal mit einem Hashcode zu versehen, z.B. 5000 mal. Somit ist es nahezu unmöglich jemals wieder an den Ursprung zu kommen.

Wie aber in jedem Code: Nichts ist unknackbar.

Hashes werden noch in vielen anderen Dingen genutzt, unter anderem um Daten zu packen, etc.

Für eine SPS ist ein SHA256-Code aktuell noch nicht so relevant. Wichtig wird er wenn Daten über ein Firmennetzwerk geschickt werden oder aber wenn gesicherte Verbindungen genutzt werden müssen, oder aber wenn das SPS-Programm fälschungssicher werden soll (Kraftwerke z.B.). Dann wird man ebenfalls hiermit in Kontakt kommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider kann ich keine .scl Dateien hochladen und musste diese noch extra packen.
Da SCL-Quelldateien ganz normale Textdateien sind und man txt-Dateien hochladen darf, liegt es nahe, die Quelldatei einfach umzubenennen. Da hat sich hier im Forum folgendes bewährt: einfach die Erweiterung .txt anhängen, dann läßt sich die Datei hochladen und man sieht auch noch leicht, wie die Datei vorher hieß, und zurückbenennen ist auch ganz einfach. Beispiel: SHA256.scl --> SHA256.scl.txt
(Wenn man dieses Umbenennen durch Ändern/Anhängen einer Dateierweiterung mit dem Windows Explorer machen will, dann muß man einstellen, daß der Explorer die Dateierweiterung auch anzeigt und nicht ausblendet. Sollte bei einem Programmierer aber eh' so eingestellt sein.)


Zum FB "SHA256": Hast Du schon Erfahrungen wie lange das Erzeugen des Hash bei einem String[640] dauert?

Harald
 
Ich habe hier leider nur eine 1512C zum ausprobieren.
Zeiten sind die reine Hashfunktion. Was man da reinsteckt und wie man die Daten vorher noch verarbeiten muss (Der Baustein arbeitet an sich mit einem Array[0..xx] of Byte) ist ja immer vom Anwendungsfall abhängig.


250 Bytes -> 5ms
500 Bytes -> 7ms
1000 Bytes -> 13ms
2000 Bytes -> 24ms
5000 Bytes -> 60ms
10000 Bytes -> 116ms

Für große Daten lässt sich die Berechnung auch auf mehreren Zyklen verteilen. Aber für meinen damaligen Anwendungsfall war das nicht nötig. (Vergleich von Passwörtern mit einem Übergeordneten System)
 
Die Idee ist ja mal richtig geil.. Wie würdet ihr dann eine Kopplung der SMC machen?
Kunde bekommt die SMC Seriennummer angezeigt, diese gibt er dann an den support.. der Generiert den SHA256 Schlüssel den der Kunde dann über das HMI eingibt. Dann wird der Schlüßel mit dem Hash aus SMC-Nummer verglichen und die Anlage frei geschaltet oder wie kann ich das realisieren?
 
Zurück
Oben