Manière la plus simple de crypter un fichier texte dans Java
Pour mon projet d'École, je devais montrer que je peux utiliser à la manipulation de fichiers au sein d'un programme. Pour ce que j'ai fait très simple processus d'ouverture de session que vous pouvez créer un compte sur qui écrit un nom d'utilisateur et le mot de passe dans un fichier texte situé dans le dossier de ressources. Évidemment, cela n'a pas de sécurité, car il n'était pas conçu pour être sûr, juste pour mettre en valeur la manipulation de fichiers cependant, mon professeur a dit que je devrais essayer d'ajouter un peu de cryptage du fichier ainsi d'obtenir une meilleure note.
J'ai fait quelques recherches et beaucoup de gens sont en recommandant DES.
Le problème, je vais avoir est je n'ai pas beaucoup de temps pour mon projet et besoin de finir au plus vite. À l'aide de DES semble que ce serait prendre un certain temps pour mettre en oeuvre le code supplémentaire.
Dans mon programme, je suis à l'aide d'un simple lineNumberReader pour lire les fichiers ligne par ligne. Pour écrire dans les fichiers, je suis en utilisant un BufferedWriter.
Est-il de toute façon à chiffrer ces données très simplement? Il ne doit pas être très sûre, mais j'ai besoin de montrer que j'ai au moins tenté de chiffrer les données. Le chiffrement et le déchiffrement seraient tous fait la même demande que les données ne sont pas transférées.
Potentiellement un moyen pour que je puisse créer un très simple de cryptage et de décryptage de l'algorithme de moi-même?
source d'informationauteur Patch
Vous devez vous connecter pour publier un commentaire.
Essayer cela,... c'est assez simple
Donc en gros, avant d'écrire sur le fichier vous permet de chiffrer et après lecture, vous aurez besoin de le décrypter.
Vous pouvez utiliser un simple césar de chiffrement (http://en.wikipedia.org/wiki/Caesar_cipher)
Trouvé à http://rosettacode.org/wiki/Caesar_cipher#Java
Noter que Java natif de solutions de chiffrement pour le chiffrement et quand il s'agit de mots de passe, il est beaucoup mieux de simplement de hachage et de comparer les hachages comme il n'y a habituellement pas besoin de les déchiffrer.
Un très de base de la méthode de xor les données avec une clé. Cette méthode est symétrique, j'.e, vous pouvez utiliser la même clé pour décoder comme de l'encodage.
Si l'on choisit 1 octet de clé, il est agréable et simple, assez pour le rendre illisible (mais pas du tout sécurisé!):
Un moyen facile et amusant de brouillage algorithme serait le Transformée de Burrows-Wheeler transformer. Pas vraiment un cryptage sécurisé, mais sérieusement, c'est un travail à l'école et c'est génial.
utilisation simple subtitute algorithme de chiffrement, de changer à chaque personnage dans un numéro ou une autre caractère.
Je ne sais pas qui recommande de DES pour crypter le mot de passe.
Je vous suggère de suivre ces étapes si vous souhaitez impressionner votre professeur:
Cette solution permet à votre projet de bien réel et vous pouvez le réutiliser pour passer l'examen de votre futur Module Crypto 🙂 . Sinon, j'aime la solution proposée à partir de StanislavL.
Profitez-en!
Château gonflable Crypto API est un léger cryptography API en Java.
Il y a beaucoup de façons de chiffrées simple chaîne de caractères en Java. Si c'est un projet scolaire , je ne pense vraiment pas que vous pouvez obtenir une plus grande bande en utilisant simplement une tierce-partie libs pour finir le chiffré de travail.
Si vous avez un peu de temps, vous pourriez essayer de comprendre comment Base64 fonctionne, essayez de créer de l'algorithme chiffré par vous-même.
Comment jamais, si vous insistez pour utiliser certaines API en Java , je dois dire que le DES est vraiment vieille façon de texte crypté , 3DEs(DESede) ou AES sera meilleur et plus sûr , les deux d'entre eux ont déjà été pris en charge depuis Java6.
Si vous devez importer le BouncyCastle lib , je préfère l'IDÉE, c'est l'un des plus sûrs de l'algorithme, peut-être de vous obtenir un bon score.
Je ne vais pas vous donner le code de démonstration, mais vous pouvez facilement en trouver sur google tous l'algorithme que j'ai mentionnés.
Ma suggestion: ne pas utiliser le chiffrement.
Voici quelque chose de mieux:(je l'espère)
Ainsi, vous pouvez réellement savoir si l'utilisateur a modifié le fichier texte avec les détails et afficher un message d'erreur si la altéré compte est utilisé.
Toutefois, Cela n'empêche pas l'utilisateur de modifier le fichier, il suffit de prévenir une altéré compte soit utilisé....Je pense que votre ordinateur enseignant pourrait ressembler à cela.
Vous pouvez aussi faire:
f.setReadOnly();
et quand vous écrivez dans le fichier,
f.setWritable(true,true),
puis, après la fermeture du flux de sortie,
f.setReadOnly();
une fois de plus...
Mais le fichier peut toujours être remplacé, donc le 1er et le plus
Efficace.
Grâce