Md5 date

thiernoirm Messages postés 12 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 17 septembre 2009 - 29 juil. 2009 à 18:13
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 30 juil. 2009 à 11:10
bonjour tt le monde
j'ai un ptit souci alors merci de me donner un coup de main svp

j'ai une classe qui genere le md5 d'un message.

j'applique cette fonction à la date actuelle au format (AAAAMMJJHHMMSS) (voir code). puis je recupere la longueur de la signature md5 de la date.

Mon problème est que la taille de la signature varie à chaque fois , alors que je veux cette taille sur une longueur fixe .

voici la classe ............merci de votre aide.


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Md5 {

public static void main(String[] args) throws Exception
{
String signatureMd5 = null;
// ce ci me permet d'avoir "yyyyMMddHHmmss"
DateFormat datForm = new SimpleDateFormat("yyyyMMddHHmmss");
Date l_Date = new Date();
String date = datForm.format(l_Date);

// calcule du md5
String message=date;
byte[] defaultBytes = message.getBytes();
try{
MessageDigest algorithm = MessageDigest.getInstance("MD5");
algorithm.reset();
algorithm.update(defaultBytes);
byte messageDigest[] = algorithm.digest();
StringBuffer hexString = new StringBuffer();
for (int i=0;i<messageDigest.length;i++) {
hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
signatureMd5 = hexString.toString().toUpperCase();
}
System.out.println(" message : "+message+"\n MD5 du message :"+signatureMd5);
System.out.println("longueur du md5 : "+signatureMd5.length());


}catch(NoSuchAlgorithmException nsae){

}

}
}

1 réponse

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
30 juil. 2009 à 11:10
Salut,

MD5 produit une empreinte sur 128 bits (32 caractères hexa), donc taille constante.
Définition MD5
c'est sur ton affichage qui il y a un souci
0
Rejoignez-nous