Solved

# DES Algorithm Example needed

Posted on 2004-08-29
1,316 Views
Hello All,

I need to encrypt an Object using DES.  Please let me know is this possible if it is possible with java jdk tool kit

thanks
moneymama
0
Question by:moneymama

LVL 14

Expert Comment

ID: 11927742
use javax.cryto package

0

LVL 14

Accepted Solution

sudhakar_koundinya earned 250 total points
ID: 11927744
0

LVL 14

Expert Comment

ID: 11927749
0

LVL 12

Expert Comment

ID: 11928900
To use the crypto package you must have JCE.
This is contained automatically with jdk1.4 (and greater).
This is downloadable from www.java.sun.com for previous jdk (see java Sun and JCE package)

If you want to build your own the implementation of DES algorithm you must study it before all and you can even not use the crypto package of JCE.

Bye, Giant.
0

Expert Comment

ID: 11929625
here's an example, i hope it helps...i had to implement it from scratch for an assigment...but using the javax package is so much more simpler, so use what is available to you.

//EXAMPLE

import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.Cipher;

public class SymmetricCipherTest {
private static byte[] iv =
{ 0x0a, 0x01, 0x02, 0x03, 0x04, 0x0b, 0x0c, 0x0d };

private static byte[] encrypt(byte[] inpBytes,
SecretKey key, String xform) throws Exception {
Cipher cipher = Cipher.getInstance(xform);
IvParameterSpec ips = new IvParameterSpec(iv);
cipher.init(Cipher.ENCRYPT_MODE, key, ips);
return cipher.doFinal(inpBytes);
}

private static byte[] decrypt(byte[] inpBytes,
SecretKey key, String xform) throws Exception {
Cipher cipher = Cipher.getInstance(xform);
IvParameterSpec ips = new IvParameterSpec(iv);
cipher.init(Cipher.DECRYPT_MODE, key, ips);
return cipher.doFinal(inpBytes);
}

public static void main(String[] unused) throws Exception {
// Generate a secret key
KeyGenerator kg = KeyGenerator.getInstance("DES");
kg.init(56); // 56 is the keysize. Fixed for DES
SecretKey key = kg.generateKey();

byte[] dataBytes =
"J2EE Security for Servlets, EJBs and Web Services".getBytes();

byte[] encBytes = encrypt(dataBytes, key, xform);
byte[] decBytes = decrypt(encBytes, key, xform);

boolean expected = java.util.Arrays.equals(dataBytes, decBytes);
System.out.println("Test " + (expected ? "SUCCEEDED!" : "FAILED!"));
}
}
0

Author Comment

ID: 11929984
thanks for ur inputs.

Basically I need to encrypt and decrypt the objects.

thanks
0

## Featured Post

### Suggested Solutions

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.