Archiv der Kategorie: Tutorials

Wissen: Was ist ein Fork?

Nun, diese Frage lässt sich rasch beantworten. Bei einer Anwendung wird dann von einen Fork gesprochen, wenn diese auf einer anderen Anwendung basiert, diese Abspaltung dann jedoch unabhängig von der ursprünglichen weiterentwickelt wird.

Um es zu verdeutlichen: Man hat ein Anwendung Alpha. Diese wird in einen Moment 1 : 1 kopiert, die neue Kopie heißt nun Anwendung Beta. Danach jedoch haben diese Anwendungen eigentlich nichts mehr miteinander zu tun und entwickeln sich unterschiedlich weiter. Möglicherweise entwickeln sie sich auch in komplett unterschiedlichen Richtungen. Die Anwendung Beta ist in diesen Fall also der Fork. Der Begriff „Fork“ kommt übrigens aus dem Englischen und bedeutet wörtlich übersetzt „Gabel“.

Wissen: Was ist ein Fork? weiterlesen

Wissen: Unterschied zwischen Verschlüsselung und Hash

Der Unterschied zwischen einer Verschlüsselung und einem Hash ist eigentlich recht einfach, sobald man es einmal verstanden hat.

Verschlüsselung

Verschlüsselungen verschleiern mit einem bestimmen Algorithmus Informationen und Dateien , sprich sie werden unleserlich gemacht. Im optimalen Fall ist es unmöglich, die verschlüsselten Dateien wieder zu entschlüsseln, sprich die Informationen wieder leserlich zu machen, wenn man nicht den exakten Algorithmus kennt. Ein guter Algorithmus verarbeitet zusätzlich ein frei festlegbares Passwort, dass in der Verschlüsselungs-Methode mit eingerechnet wird. Mit anderen Worten, für die Entschlüsslung muss man dann nicht nur den Algorithmus kennen, sondern zusätzlich auch noch das exakte Passwort. Die Verschlüsselung dient also dazu, Informationen von fremden Zugriffen zu schützen.

Ein recht einfaches Beispiel für eine Verschlüsselung ist die sogenannte „Caesar“-Verschlüsselung. Bei dieser Verschlüsslung werden alle Buchstaben um genau drei Stellen im Alphabet verschoben. Bei der Entschlüsselung werden die einzelne Buchstaben also um genau 3 Stellen zurückgeschoben.

Einfaches Beispiel: "dev" wird zu "ghy"
Caesar Verschlüsselung: Alle Buchstaben werden um drei Stellen verschoben.

Dies ist ein sehr, sehr altes Verfahren und mindestens genauso unsicher. Der Name geht auf Julius Caesar zurück, da dieser angeblich diese Methode erfunden hat, um verschlüsselte Botschaften per Brief zu verschicken.

 

Hash

Ein Hash hingegen berechnet aus Informationen (Dateien, Werte, Inhalte) mithilfe eines festgelegten Algorithmus einen sogenannten Hash-Wert. Theoretisch kann man diese Berechnung nicht mehr rückgängig machen. Es ist also nicht möglich, nur durch den Hash-Wert wieder an der ursprünglichen Information zu kommen. Dieser Hash-Wert (auf deutsch auch Prüfsumme) ist ein eindeutiger Wert. Es gibt eine sehr, sehr geringe Wahrscheinlichkeit das unterschiedliche Informationen einen gleichen Hash-Wert haben. Diese Wahrscheinlichkeit ist aber so gering, dass man dies an dieser Stelle durchaus vernachlässigen darf.

Einen Hash wird verwendet, falls man einen Wert zwar auf seiner Korrektheit überprüfen möchte, diesen ansonsten aber vor jeglichen Zugriff schützen möchte und absolut niemand diesen Wert in Klartext (sprich: vor den Hash-Vorgang) angezeigt werden muss. Am häufigsten kommt dieser Fall natürlich bei Passwörtern vor. Ein Benutzer gibt also ein beliebiges Passwort ein. Dieses Passwort wird durch einem Algorithmus zu einen Hash-Wert verrechnet. Dieser Hash-Wert wird anschließend gespeichert (z. B. in einer Datenbank). So kann absolut niemand, auch nicht der Betreiber des Angebotes, das Passwort des Benutzers im Klartext lesen. In der Theorie (!) ist das Passwort des Benutzers also auch dann noch sicher, falls jemand an den Hash-Wert kommen sollte.

Dies hängt damit zusammen, dass bei der Anmeldung des Benutzers wieder das Passwort im Klartext eingegeben werden muss. Zur Überprüfung, ob das Passwort denn nun richtig ist oder nicht, wird das Passwort im Klartext wieder mit den aller selben Algorithmus verrechnet. Falls also wieder derselbe Hash-Wert berechnet wird, wie zuvor gespeichert wurde, bedeutet dies, dass das richtige Passwort eingegeben wurde.

Wenn man also den gleichen Wert mit dem gleichen Algorithmus verrechnet, bekommt man immer denselben Hash-Wert. So wie 1 + 1 immer exakt 2 ist.

Beispiele für Hash-Werte unter Nutzung von SHA256:

Wert im Klartext Hash-Wert
123456 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
useAsavePassword 5943ff949c51d0fbebdbddf671a4132660f0ae0fe6a51331e6aa4f54c582e883
Sonderzeichern!? 642b9ea75534c0c1dbed2e0897535b9f16f566940b3c5075399d495d859bdcba

 

Ein Tutorial für die Verwendung von Verschlüsselungen und Hash-Werten bzw. deren Generierung wird es demnächst geben.

Tutorial: Dateien in eine PDF-Datei konvertieren

In diesem Tutorial wird kurz erklärt, wie es möglich ist, ein Dokument bzw. eine beliebige Datei in einem PDF-Dokument zu konvertieren.

 

Microsoft Office, OpenOffice und LibreOffice

Sollten Sie Microsoft Office 2007, OpenOffice 1.1, LibreOffice (ein Fork von OpenOffice) oder eine neuere Version von diesen Office-Suiten verwenden, haben Sie bereits alles, was Sie für die Konvertierung benötigen. In Microsoft Office klicken Sie dazu auf den  Tutorial: Dateien in eine PDF-Datei konvertieren weiterlesen

Das Grundlagen Tutorial: HTML

Im Folgenden werden die Grundlagen von HTML erklärt. Dies ist Teil einer Serie die Grundlagen von verschiedenen Auszeichnungssprachen und Programmiersprachen vermittelt. Bitte beachten Sie, dass das Tutorial über mehreren Seiten geht. Am Ende jeder Tutorial Seite finden Sie die Links zu den weiteren Seiten des Tutorials.

Was ist HTML?

HTML ist die Abkürzung für Hypertext Markup Language. Anders als sehr oft behauptet ist HTML keine Programmiersprache, sondern eine Auszeichnungssprache. HTML bildet die Basis von Webseiten. So wie alle Auszeichnungssprachen kann HTML nur Informationen darstellen, jedoch nicht berechnen, verändern, speichern usw. Die Webbrowser lesen den HTML Code ein und erfahren so, wie eine Webseite aussehen soll.

 

HTML 5 - Die Zukunft des Webs
HTML 5 - Die Zukunft des Webs (Bild: W3C)

 

Was braucht es für die Entwicklung mit HTML?

Für die Entwicklung von HTML genügt bereits ein einfacher Texteditor. Zur Übersichtlichkeit ist aber, auch für reines HTML, ein Editor mit Syntaxhighlighting ratsam.
Die einzelne Bestandteile von HTML werden durch das Syntaxhighlighting verschiedenfarbig hervorgehoben. Das hilft den Code schneller aufzunehmen und zu verstehen. Ein empfehlenswerter Editor ist Notepad++. Reiner HTML Code wird in .html Dateien, teilweise auch in .htm Dateien gespeichert. Für das Testen des Codes ist jeder Browser geeignet, öffnen Sie dafür ihre .html oder .htm Datei einfach in einen Browser. Außerdem sollten Sie etwas Geduld mitbringen und nicht erwarten, dass Sie gleich eine perfekte Website erstellen. Das Grundlagen Tutorial: HTML weiterlesen