Rechercher : dans
Par :

Comment insérer un applet java dans du Xhtml

Dernière réponse le 28 aoû 2007 à 10:14:54 redhelling, le 5 mar 2007 à 19:42:24 
 Signaler ce message aux modérateurs

Salut :),

Voilà j'ai un problème sur mon site : j'ai trouvé un applet sympa qui chiffre et déchiffre le RSA sur ce site http://tpe.crypto.free.fr/ dans la section RSA.

Voici le code correspondant à cet applet :

Citation : code : java
/* ======================================================== *
* Created on 25/09/03 by Eric Groshens, spunky7802@free.fr *
* =========== Distributed under GNU/GPL license ========== *
* === Look at http://www.gnu.org for more informations === *
* ======================================================== *
* ======================================================== *
* ========================== JRSA ======================== *
* ======================================================== *
* ================== The RSA algorithm =================== *
* ======================================================== *
*/

package jrsa;

import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.math.BigInteger;
import java.util.Random;

public class JRSA extends JApplet
{
private JFrame messageFrame;
private Thread thread;
private JPanel areaPanel, southPanel;
private JTextArea inputArea, outputArea;
private JButton encrypt, decrypt, invert, generate;
private JScrollPane jsp1, jsp2;
private String input_asc = "";
private String output_asc = "";
private JTextField tP, tQ, tE, tD;
private BigInteger p, q, n, phi, e, d;

public void init()
{
invert = new JButton("<-->");
inputArea = new JTextArea(10, 25);
inputArea.setText("Auteur: Eric Groshens, spunky7802@free.fr");
inputArea.setLineWrap(true);
outputArea = new JTextArea(10, 25);
outputArea.setLineWrap(true);
jsp1 = new JScrollPane(inputArea);
jsp2 = new JScrollPane(outputArea);
areaPanel = new JPanel(new FlowLayout());
areaPanel.add(jsp1);
areaPanel.add(invert);
areaPanel.add(jsp2);
southPanel = new JPanel(new FlowLayout());
tP = new JTextField(5);
tQ = new JTextField(5);
tE = new JTextField(8);
tD = new JTextField(8);
generate = new JButton("Generer clef");
encrypt = new JButton("Chiffrer");
decrypt = new JButton("Dechiffrer");
generate.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
generate_actionPerformed(e);
}
});
invert.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
invert_actionPerformed(e);
}
});
encrypt.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
encrypt_actionPerformed(e);
}
});
decrypt.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
decrypt_actionPerformed(e);
}
});
southPanel.add(new JLabel("p = "));
southPanel.add(tP);
southPanel.add(new JLabel("q = "));
southPanel.add(tQ);
southPanel.add(new JLabel("e = "));
southPanel.add(tE);
southPanel.add(new JLabel("d = "));
southPanel.add(tD);
southPanel.add(generate);
southPanel.add(encrypt);
southPanel.add(decrypt);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(areaPanel, BorderLayout.CENTER);
this.getContentPane().add(southPanel, BorderLayout.SOUTH);
generate_actionPerformed(null);
}

void invert_actionPerformed(ActionEvent ac)
{
inputArea.setText(outputArea.getText());
}

void generate_actionPerformed(ActionEvent ac)
{
if (tP.getText().equals("") || !(p.isProbablePrime(10))) p = new BigInteger(16, 10, new Random());
else p = new BigInteger(tP.getText());
if (tQ.getText().equals("") || !(q.isProbablePrime(10)) || p.compareTo(q) == 0) q = new BigInteger(16, 10, new Random());
else q = new BigInteger(tQ.getText());
if (p.compareTo(q) == 0) q = new BigInteger(16, 10, new Random());
if (p.compareTo(q) == 0) q = new BigInteger(16, 10, new Random());
if (tE.getText().equals(""))
{
e = new BigInteger("2");
} else
{
e = new BigInteger(tE.getText());
}
n = p.multiply(q);
phi = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));
if (e.gcd(phi) != BigInteger.ONE)
{
BigInteger i = n.divide(new BigInteger("4"));
while ((i.gcd(phi)).compareTo(BigInteger.ONE) != 0)
{
i = i.add(BigInteger.ONE);
}
e = i;
}
d = e.modInverse(phi);
tP.setText(p.toString());
tQ.setText(q.toString());
tE.setText(e.toString());
tD.setText(d.toString());
}

void encrypt_actionPerformed(ActionEvent ac)
{
generate_actionPerformed(ac);
input_asc = inputArea.getText();
output_asc = "";
byte b1[] = input_asc.getBytes();
BigInteger b2[] = new BigInteger[b1.length];
for (int i = 0; i < b1.length; i++)
{
BigInteger j = BigInteger.valueOf((int)b1[i]);
b2[i] = j.modPow(e, n);
}
for (int i = 0; i < b2.length; i++)
{
output_asc += (b2[i].toString() + "-");
}
outputArea.setText(output_asc);
}

void decrypt_actionPerformed(ActionEvent ac)
{
if (tP.getText().equals("") || !(p.isProbablePrime(10))) JOptionPane.showMessageDialog(messageFrame, "p n'est pas premier!", "Erratum", JOptionPane.ERROR_MESSAGE);
else p = new BigInteger(tP.getText());
if (tQ.getText().equals("") || !(q.isProbablePrime(10)) || p.compareTo(q) == 0) JOptionPane.showMessageDialog(messageFrame, "q n'est pas premier ou est égale à p!", "Erratum", JOptionPane.ERROR_MESSAGE);
else q = new BigInteger(tQ.getText());
d = new BigInteger(tD.getText());
n = p.multiply(q);
input_asc = inputArea.getText();
output_asc = "";
BigInteger b1[] = toBI(input_asc);
byte b2[] = new byte[b1.length];
for (int i = 0; i < b1.length; i++)
{
b2[i] = (byte)b1[i].modPow(d, n).intValue();
}
for (int i = 0; i < b2.length; i++)
{
output_asc += (char)b2[i];
}
outputArea.setText(output_asc);
}

BigInteger[] toBI(String s)
{
String number = "";
int j = 0;
for (int i = 0; i < s.length(); i++)
{
if (s.charAt(i) == '-') j++;
}
BigInteger bi[] = new BigInteger[j];
j = 0;
for (int i = 0; i < s.length(); i++)
{
if (s.charAt(i) != '-') number += s.charAt(i) + "";
else
{
bi[j] = new BigInteger(number);
j++;
number = "";
}
}
return bi;
}

}


Seulement le problème c'est que je n'ai aucune idée de la façon d'insérer cet applet dans ma page :o
En l'occurence je voudrais savoir ce que je dois mettre "autour" de ce code pour que l'applet fonctionne .

Voila donc si vous pouviez m'aider ce serait super sympa ;)

Configuration: Windows XP
Firefox 1.5.0.10

Meilleures réponses pour « Comment insérer un applet java dans du Xhtml » dans :
[FreeMind] Publier une mindmap dans une page web VoirFreeMind est un logiciel de mindmapping. Vous avez plusieurs possibilités pour publier votre mindmap dans une page web. Flash applet Java Simple image PNG HTML+Javascript (texte seulement) HTML+Javascript (texte+icônes) HTML+Javascript...
Télécharger Applet deroule_menu VoirDans les pages web, les menus sont souvent présentés en détails, c’est à dire que vous voyez tous les liens affichés au premier plan. Ceci gâche de l’espace et n’est pas très esthétique. Applet déroule_menu est un outil permettant...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...

1

redhelling, le 8 mar 2007 à 14:49:27

S'il vous plait, aidez moi !!

Répondre à redhelling

2

 chrjean, le 28 aoû 2007 à 10:14:54
  • +1

Il faut compiler le code pour en faire un exécutable avant de l'envoyer sur ton site et de l'appeler comme ceci :

<applet code="monJava"
archive=monJava.jar"
height="300" width="450" >
</applet>

Configuration: Windows Vista
Firefox 2.0.0.6

Répondre à chrjean
Collection CommentÇaMarche.net