Charcrypt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 720 fois - Téléchargée 18 fois

Contenu du snippet

Ceci est un crypteur de fichier qui fonctionne bit à bit
Il à la particularité de créer lui même (aléatoirement) une clef que vous devez posséder pour pouvoir décrypter.

Source / Exemple :


import javax.swing.*;
import java.io.*;

public class BinaryFile
{
	private static byte opif()
	{
	byte pif =0;
	double test = Math.random();
	
	pif =(test<0.5 ? (byte)0 : (byte)1);
	
	return pif;
	}
	
	public static void main(String arg[]) throws IOException
	{
		
		String NomFichierI = JOptionPane.showInputDialog(null,"Adresse du fichier d'entrée:","test.txt");
		String NomFichierP = JOptionPane.showInputDialog(null,"Nom ou adresse de votre fichier clé :","clef.txt");
		String NomFichierO = JOptionPane.showInputDialog(null,"Nom du fichier à créer en sortie:","crea.txt");
		
		String choix[] = {"cryptage","décryptage"};
		String ModeExe = (String)JOptionPane.showInputDialog(null,"Que voulez vous effectuer?","PROCESS",JOptionPane.QUESTION_MESSAGE,null,choix,choix[0]);
		
		DataInputStream entree =  new DataInputStream(new FileInputStream(NomFichierI));
		DataOutputStream sortie = new DataOutputStream(new FileOutputStream(NomFichierO));
		
		
	  if(ModeExe == "cryptage")
	  {DataOutputStream pass = new DataOutputStream(new FileOutputStream(NomFichierP));
	
	  	byte bitI=0;
	  	byte bitP=0;
	  	byte n = 0;
	  	boolean eof = false;
	  	while(!eof)
	  	{
	  		try
	  		{
	  			bitI = entree.readByte();
	  			bitP = opif();
	  		}
	  		catch(EOFException e)
	  		{
	  			eof = true;
	  		}
	  		if(!eof){
	  			
	  			bitI = (byte)(~bitI);
				
				n= (byte)(bitI^bitP);
				
				sortie.writeByte(n);
				pass.writeByte(bitP);
				
				}
	  	}
	  	pass.close();
	  }else{
	  
	  if(ModeExe == "décryptage")
	  {DataInputStream pass = new DataInputStream(new FileInputStream(NomFichierP));
	
		byte bitI=0;
	  	byte bitP=0;
	  	byte n = 0;
	  	boolean eof = false;
		while(!eof)
		{
			try
			{
				bitI = entree.readByte();
				bitP = pass.readByte();
				
			}
			catch(EOFException e)
			{
				eof = true;
			}
			
			if(!eof)
				{
				bitI= (byte)(bitI^bitP);
				 
				n = (byte)(~bitI);
				
				sortie.writeByte(n);
			     	}
		}
		pass.close();
	}
	entree.close();
	
	sortie.close();
	}
}}

Conclusion :


Inconvénient bien sur, une seule clef par cryptage ! (j'y travaille)
Et bien sur une interface minimaliste. Mais bon, le code est léger parce qu'avec des GridBagLayout .... on en rajoute bien des tartines !
Ajouter un commentaire Commentaires
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
Bonjour,
si tu veux te lancer dans le MIDLet ca devient très très vite complexe car tout les structures sont différentes: les fonctions ne sont pas les mêmes (par exemple: Java.math est très très simplifiée: il n'y a même plus la fonction pour élever au carré) alors tu devra pas mal repenser ton code!!!
Cherche sur google MIDP ou MIDlet !
Bonne soirée
Messages postés
5358
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
22 janvier 2021
103
Salut,

pour les passer sur des tal te faut utiliser la j2me et creer en plus du jar un .jad


pour ce qui est de la creation d'un jar tape 'jar' dans ton invite de commandes et penche toi sur la creation de jar avec ton propre manifest (dans ton manifest ajoute l'attribut 'Main-Class : taMainClass')
Messages postés
20
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
10 juin 2010

J'aurai bien voulu le créer à l'aide d'une simple ligne de commande.
J'ai la version 6 du jdk sous windows.
j'arrive à créer des .jar mais je ne peux pas les lancer.
Mon but étant de les transporter sur des téléphones cellulaires.
Merci encore!
Messages postés
5358
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
22 janvier 2021
103
Salut,

sinon après lecture de ton code, désolé mais il n'a rien d'initié je le repasse donc en débutant
Messages postés
5358
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
22 janvier 2021
103
Salut,

tu veux créer ton jar exécutable avec quoi ? ton ide (le quel ?), ant ? en ligne de commande ?
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.