Comment insérer un applet java dans du Xhtml

Fermé
redhelling - 5 mars 2007 à 19:42
 chrjean - 28 août 2007 à 10:14
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 ;)
A voir également:

2 réponses

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>
1
s'il vous plait, aidez moi !!
0