Das Ziel dieses Code-Golfs ist es, ein Programm zu erstellen, das einen String als Eingabe verwendet, und Sie müssen den SHA-1- Hashwert als Hexadezimalzahl ausgeben . Den Pseudocode für SHA-1 finden Sie hier
Andere Regeln:
- Kein Netzwerkzugriff
- Sie dürfen keine externen Programme ausführen
- Es ist nicht gestattet, integrierte Methoden zum Hashing der Eingabe zu verwenden
- Der kürzeste Code gewinnt
- Es muss nur die ASCII-Eingabe verarbeitet werden
- Die Ausgabe kann entweder in Klein- oder Großbuchstaben erfolgen
Die Eingabe kann erfolgen mit:
- Eingabeaufforderung
- Verwenden von Befehlszeilenargumenten
- STDIN verwenden
Testfälle:
Input: The quick brown fox jumps over the lazy dog
Output: 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
----------------------------------------------------------
Input: The quick brown fox jumps right over the lazy dog
Output: 1c3aff41d97ada6a25ae62f9522e4abd358d741f
------------------------------------------------------------
Input: This is a code golf challenge
Output: f52ff9edd95d98e707bd16a7dead459cb8db8693
Python 3 - 645 Zeichen
Nur eine Golfversion des Pseudocodes.
quelle
.encode()
standardmäßig UTF-8 verwendet wird, was sogar noch kürzer ist.D (759 Zeichen)
Online ausführbare Version: http://dpaste.dzfl.pl/f0c8508f
quelle
C, 546 Zeichen
Das Programm berechnet das SHA-1 aus dem Inhalt seiner Standardeingabe.
Ein paar Notizen:
int
genau 32 Bit aus. Für Plattformen, auf denen dies nicht der Fall ist, sollte dieunsigned
Deklaration ganz am Anfang durch den vorzeichenlosen 32-Bit-Typ der Plattform ersetzt werden. (uint32_t
wäre die naheliegende Wahl, wenn es nicht erforderlich wäre#include <stdint.h>
.)^3
im Programm und ersetzen Sie die Initialisierungk[]
durch den folgenden Block:{19088743,0x89ABCDEF,0,1985229328,0xF0E1D2C3}
für eine Größe von 541 Zeichen.char
standardmäßig kein Vorzeichen angegeben ist, kann das&255
in der letzten Zeile angezeigte Zeichen gelöscht werden, um vier weitere Zeichen zu speichern.quelle
be417768b5c3c5c1d9bcb2e7c119196dd76b5570
für zurück,The quick brown fox jumps over the lazy dog
aber es muss zurückkehren2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
Mein Python-Code ist etwas länger, funktioniert aber voll.
quelle
0xffffffff
) in Variablen verstauen ( würde auch-1
ausreichen?) ...h0..h4
sind immer noch zwei Buchstaben ;-)