Comment crypter un fichier en Java

Depuis la version 1.4, le SDK Java Standard Edition a inclus l'extension Java Cryptography par défaut. Cela fournit un cadre unifié pour les développeurs Java à utiliser une variété d'algorithmes de cryptage standard dans leurs applications. En utilisant l'un des algorithmes standards qui viennent avec le Java Cryptography Extension est assez facile, et une application de chiffrement très simple peut être créé dans seulement quelques dizaines de lignes pour sécuriser vos propres fichiers de données.

Choses que vous devez

  • Ordinateur
    Java
    éditeur de texte ou IDE Java

Instructions

  1. Créez la classe FileEncrypter.

    public class FileEncrypter {
    main (String [] args) public static void throws Exception {
    # 9- lt; lt; insérer du code heregt; gt;
    &# 9-}
    }

    La classe, il faudra les importations suivantes:

    importation java.io.File
    GO
    importation java.io.FileInputStream
    GO
    importation java.io.FileOutputStream
    GO
    importation javax.crypto.Cipher
    GO
    importation javax.crypto.KeyGenerator
    GO
    importation javax.crypto.SecretKey
    GO

    Il ya un certain nombre d'extensions et améliorations que vous devriez être en mesure d'ajouter à cette classe sur votre propre, mais il faudra fournir une fonctionnalité de cryptage de base pour vous de construire des fonctionnalités telles que une interface utilisateur sur le dessus de.




  2. Déclarer et initialiser les variables dont vous aurez besoin. Au minimum, vous aurez besoin d'un Cipher, un KeyGenerator et un SecretKey. Vous aurez également besoin d'un tableau d'octets chacun pour contenir les données chiffrées et non chiffrées.

    byte [] plainData
    GO
    byte [] encryptedData
    GO
    KeyGenerator keygen = KeyGenerator.getInstance ("DES")
    GO
    Clé SecretKey = keygen.generateKey ()
    GO
    Chiffrement de chiffrement = Cipher.getInstance ("DES / BCE / PKCS5Padding")
    GO
    cipher.init (Cipher.ENCRYPT_MODE, key)
    GO

    Cette fonction va utiliser le chiffrement DES, mais Java Cryptography Extension comprend également une variété d'autres régimes. Vous aurez également besoin d'initialiser un fichier d'entrée et de sortie et de remplir le tableau plainData à partir des données dans le fichier d'entrée.

    Fichier f = new File ("input.txt")
    GO
    FileInputStream = new FileInputStream (f)
    GO
    plainData = new byte [(int) f.length ()]
    GO
    in.read (plainData);




  3. Effectuer le chiffrement. Ceci est en fait la tâche la plus facile pour vous d'effectuer et peut être accompli en une seule ligne.

    encryptedData = cipher.doFinal (plainData);

  4. Ecrire les données chiffrées dans un nouveau fichier.

    FileOutputStream target = nouvelle FileOutputStream (new File ("Encrypted.txt"))
    GO
    target.write (encryptedData)
    GO
    target.close ();

Conseils & Avertissements

  • Il ya un certain nombre d'améliorations qui peuvent être apportées à ce programme. Comme l'a écrit, par exemple, il ne stocke pas le SecretKey générée de façon aléatoire le programmeur individu peut être le meilleur juge de la façon de traiter avec cette pièce sensible de l'information. En outre, les programmeurs peuvent vouloir ajouter des arguments de ligne de commande tels que "contribution" et "sortie." Enfin, le programme pourrait être légèrement restructuré pour mettre en œuvre de meilleures techniques Object Oriented Design.
» » » » Comment crypter un fichier en Java