Le but de ce code-golf est de créer un programme qui prend une chaîne en entrée, et vous devez sortir la valeur de hachage SHA-1 sous forme de nombre hexadécimal. Vous pouvez trouver le pseudocode pour SHA-1 ici
Autres règles:
- Pas d'accès au réseau
- Vous n'êtes pas autorisé à exécuter des programmes externes
- Vous n'êtes pas autorisé à utiliser des méthodes intégrées pour hacher l'entrée
- Le code le plus court gagne
- Il est seulement nécessaire de gérer l'entrée ASCII
- La sortie peut être en minuscules ou en majuscules
L'entrée peut être fournie en utilisant:
- Demander l'entrée
- Utilisation d'arguments de ligne de commande
- Utilisation de STDIN
Cas de test:
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 caractères
Juste une version golfée du pseudocode.
la source
.encode()
UTF-8 utilise par défaut, ce qui est encore plus court.D (759 caractères)
Version exécutable en ligne: http://dpaste.dzfl.pl/f0c8508f
la source
C, 546 caractères
Le programme calcule le SHA-1 du contenu de son entrée standard.
Quelques notes:
int
c'est exactement 32 bits. Pour les plateformes où ce n'est pas le cas, launsigned
déclaration au tout début doit être remplacée par le type 32 bits non signé de la plateforme. (uint32_t
serait le choix évident, s'il ne l'exigeait pas#include <stdint.h>
.)^3
dans le programme, et remplacez l'initialisation dek[]
par le bloc suivant:,{19088743,0x89ABCDEF,0,1985229328,0xF0E1D2C3}
pour une taille de 541 caractères.char
n'est pas signé par défaut, on peut supprimer celui&255
qui apparaît sur la dernière ligne pour enregistrer quatre autres caractères.la source
be417768b5c3c5c1d9bcb2e7c119196dd76b5570
pourThe quick brown fox jumps over the lazy dog
mais il doit revenir2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
Mon code python est un peu plus long mais il fonctionne pleinement.
la source
0xffffffff
) dans des variables (cela-1
suffirait-il également?) ...h0..h4
sont toujours en deux lettres ;-)