Archiv der Kategorie: Kotlin

Sudokus mit Kotlin lösen

Vielleicht liegt es an der merkwürdigen Corona-Zeit — auf jeden Fall hatte ich in den letzten Wochen eine Phase, in der ich fast täglich Sudokus löste. (Meine Quelle: https://www.derstandard.at/lifestyle/raetsel-sudoku.) Die Sudoku-Sucht hat schon wieder nachgelassen, aber Programmierer der ich nun einmal bin, fand sich gleich die nächste Herausforderung: Es kann doch nicht so schwierig sein, ein Programm zu schreiben, das Sudokus löst — oder? Natürlich weiß ich, das Internet ist voller Sudoku Solver. Es ging mir keineswegs darum, das Rad neu zu erfinden oder es noch runder zu machen — ich hatte einfach Lust auf ein paar Stunden Programmieren. Just for fun, nicht als Beispiel für ein Buch oder für den Unterricht …

Gesagt, getan. Wegen der Arbeit an meinem Kotlin-Buch ist mir die Sprache gerade sehr vertraut. Nach ein paar Stunden konnte mein Code bereits einfache Sudokus lösen. Der letzte Feinschliff dauerte dann doch etwas länger als gedacht, aber mittlerweile glaube ich, dass das Programm zuverlässig funktioniert.

Sudokus mit Kotlin lösen weiterlesen

Sichere Passwort-Hashes in Java und Kotlin

Dass Passwörter nicht im Klartext gespeichert werden dürfen, sollte mittlerweile Allgemeinwissen sein: Sollte aus irgendeinem Grund die Benutzerdatenbank kompromittiert werden, bekäme der Angreifer Zugriff auf sämtliche Passwörter.

Lange Zeit lautete die Empfehlung, zuerst MD5-, dann SHA1- und schließlich SHA2-Hashes mit einem zufälligen Salt zu verwenden. Allerdings gelten die MD5- und SHA1-Algorithmen mittlerweile als unsicher. Bei SHA2 gibt es zwar noch keine fundamentalen Sicherheitsprobleme, aber der Algorithmus ist zu schnell. Sofern die Implementierung der Hash-Funktion bekannt ist, können CPUs/GPUs Millionen wenn nicht Milliarden von Passwörter pro Sekunde testen. Das ist besonders dann fatal, wenn unsichere Passwörter in der Art von 123456 oder topsecret zum Einsatz kommen, die in entsprechenden Passwort-Wörterbuchdateien an den ersten Stellen enthalten sind.

Sichere Passwort-Hashes in Java und Kotlin weiterlesen