IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Sommaire > Cryptage
        Encrypter et décrypter en utilisant l'algorithme DES
        Cryptage à clés symétriques avec l'algorithme de Blowfish
        Cryptage à clés asymétriques avec l'algorithme RSA
        Signature digitale en utilisant DSA
        Empreinte numérique d'un fichier
        Encrypter un fichier à partir d'un mot de passe

        


Auteur : Stessy
Version : 16/09/2004
Encrypter et décrypter en utilisant l'algorithme DES
import java.security.*; import javax.crypto.*; // // encrypt and decrypt using the DES private key algorithm public class PrivateExample { public static void main(String[] args) throws Exception { // // check args and get plaintext if (args.length != 1) { System.err.println("Usage: java PrivateExample text"); System.exit(1); } // byte[] plainText = args[0].getBytes("UTF8"); String ss = "Hello world, haris is here!"; byte[] plainText = ss.getBytes(); // // get a DES private key System.out.println("\nStart generating DES key"); KeyGenerator keyGen = KeyGenerator.getInstance("DES"); keyGen.init(56); Key key = keyGen.generateKey(); System.out.println("Finish generating DES key"); // // get a DES cipher object and print the provider Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); System.out.println("\n" + cipher.getProvider().getInfo()); // // encrypt using the key and the plaintext System.out.println("\nStart encryption"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] cipherText = cipher.doFinal(plainText); System.out.println("Finish encryption: "); System.out.println(new String(cipherText, "UTF8")); // // decrypt the ciphertext using the same key System.out.println("\nStart decryption"); cipher.init(Cipher.DECRYPT_MODE, key); byte[] newPlainText = cipher.doFinal(cipherText); System.out.println("Finish decryption: "); System.out.println(new String(newPlainText, "UTF8")); } }

Auteur : Michel Deriaz
Version : 15/02/2005
Téléchargez le zip
Cryptage à clés symétriques avec l'algorithme de Blowfish
Blowfish est l'algorithme de cryptage le plus utilisé dans les programmes Java. Ceci est probablement essentiellement dû au fait qu'il est rapide, très fiable et surtout qu'il est libre d'utilisation (pas de brevet). La classe MyBlowfish permet de le mettre en oeuvre.


Auteur : Michel Deriaz
Version : 15/02/2005
Téléchargez le zip
Cryptage à clés asymétriques avec l'algorithme RSA
La classe MyRSA permet de crypter et décrypter des données en utilisant l'algorithme à clés asymétriques RSA


Auteur : Michel Deriaz
Version : 15/02/2005
Téléchargez le zip
Signature digitale en utilisant DSA
Le programme TestDSA permet de signer digitalement un texte puis de vérifier sa signature.


Auteur : Michel Deriaz
Version : 15/02/2005
Téléchargez le zip
Empreinte numérique d'un fichier
La classe TestHash permet de faire une empreinte numérique (SHA ou MD5) d'un fichier fourni en paramètre.


Auteur : Michel Deriaz
Version : 15/02/2005
Téléchargez le zip
Encrypter un fichier à partir d'un mot de passe
La classe TestPBE permet d'encrypter un texte en utilisant l'algorithme PBE (Password Based Encryption). Le risque d'utiliser un mot de passe directement comme clé est d'obtenir des motifs dans le ciphertext. PBE résout le problème en "salant" (salting) le mot de passe (c'est-à-dire en ajoutant des données aléatoires), puis en lui appliquant successivement un certain nombre de fois (nombre d'itérations) une fonction de hachage (typiquement MD5). Les deux paramètres utilisés, "salt" (un tableaux de bytes aléatoires) et "iterations" (le nombre de fois qu'on applique MD5) doivent être enregistrés comme paramètres du Cipher afin de pouvoir être utilisés lors du décodage. Dans ce programme le salt est généré de manière aléatoire à chaque exécution, ce qui explique que le ciphertext est différent à chaque fois même si on encrypte le même plaintext avec le même mot de passe.


        

Tous les codes sources fournis gratuitement ici sont soumis à la licence GNU LGPL traduite en français ici. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.