#!/bin/bash

# Le message message.txt a été haché avec SHA256 grâce à la commande :
# openssl dgst -sha256 -out message.hash message.txt
# qui donne un fichier contenant la ligne : SHA2-256(message.txt)= c0d1c3af6deb03f0ddbc57b68e7dcadaa03d69723db144f4061924027a7e3dd5
# Puis on n'a gardé que les 12 premiers bits du haché (pour diviser la taille de stockage, c'est donc une très bonne idée, n'est-ce pas ?)
# Trouvez un autre message (que vous appelerez forge.txt) dont les 12 premiers bits de haché sont identiques aux 12 premiers bits de haché de message.txt.

# Utile : pour extraire les 3 octets nécessaires du fichier forge.hash :
# forge_hash=`cat $OUTFILE`
# forge_hash_32=${forge_hash:21:3}

# Conseil : hachez successivement le fichier (en soi, on veut des fichiers aléatoires).

INFILE='forge.txt'
OUTFILE='forge.hash'

# TARGET_HASH='c0d1c3af'
TARGET_HASH='c0d'

echo "Initialisation du fichier de forge avec un string sans importance " $RANDOM > $INFILE

# 1er exercice : à vous de trouver un haché correspondant à celui de message.txt !


# 2e exercice : trouvez 2 hachés qui donnent la même valeur avec cette méthode (pas besoin que ça corresponde au haché de message.txt. Comparez le nombre d'essais avant d'y arriver.
# pas besoin d'afficher les fichiers qui donnent le même haché.
