/* Masher.java Author: Jon Voiculescu Description: */ //package Intro; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.security.*; import sun.misc.*; public class Masher extends Applet { // variables and constants byte[] buffer = new byte[8192]; String input = new String(); //MessageDigest md; String msgDigest = new String(); // BEGIN GENERATED CODE // member declarations java.awt.TextArea inputTextArea = new java.awt.TextArea(); // END GENERATED CODE boolean isStandalone = false; public Masher() { } // Retrieve the value of an applet parameter public String getParameter(String key, String def) { return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null ? getParameter(key) : def); } // Get info on the applet parameters public String[][] getParameterInfo() { return null; } // Get applet information public String getAppletInfo() { return "Applet Information"; } // Initialize the applet public void init() { try { initComponents(); } catch (Exception e) { e.printStackTrace(); } } public void initComponents() throws Exception { // BEGIN GENERATED CODE // the following code sets the frame's initial state inputTextArea.setText("Input your text here (You may copy and paste also)"); inputTextArea.setLocation(new java.awt.Point(20, 20)); inputTextArea.setVisible(true); inputTextArea.setSize(new java.awt.Dimension(360, 300)); setLocation(new java.awt.Point(0, 0)); setLayout(null); setSize(new java.awt.Dimension(400, 300)); add(inputTextArea); inputTextArea.addTextListener(new java.awt.event.TextListener() { public void textValueChanged(java.awt.event.TextEvent e) { inputTextAreaTextValueChanged(e); } }); // END GENERATED CODE } //-----------------------------------------------Original code from J.Knudsen ------------------ // Java Criptography //---------------------------------------------------------------------------------------------- // Calculate the digest for the given file. //FileInputStream in = new FileInputStream(args[0]); //byte[] buffer = new byte[8192]; //int length; //while ((length = in.read(buffer)) != -1) //md.update(buffer, 0, length); //byte[] raw = md.digest(); // Print out the digest in base64. //BASE64Encoder encoder = new BASE64Encoder(); //String base64 = encoder.encode(raw); //System.out.println(base64); //------------------------------------------------------------------------------------------------ public void paint(Graphics g) { msgDigest = digest(); g.drawString("Message Digest: "+msgDigest,10,360); //System.out.println(test); }//end paint public void inputTextAreaTextValueChanged(java.awt.event.TextEvent e) { repaint(); } String digest() { String base64 = new String(); try{ // Obtain a message digest object. MessageDigest md = MessageDigest.getInstance("MD5"); input = inputTextArea.getText(); int length = input.length(); for (int i = 0; ilength) upperLimit = length; String chunk = input.substring(i,upperLimit); buffer = chunk.getBytes(); md.update(buffer); }//end for i byte[] raw = md.digest(); // Compute the digest in base64. BASE64Encoder encoder = new BASE64Encoder(); base64 = encoder.encode(raw); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return base64; }//end digest // Main entry point when running standalone public static void main(String[] args) { Masher applet = new Masher(); applet.isStandalone = true; Frame frame = new Frame(); frame.setTitle("Applet Frame"); frame.add( applet, BorderLayout.CENTER ); applet.init(); applet.start(); frame.setSize( 400, 320 ); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation( (d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2); frame.setVisible( true ); } }