Solved

DES Algorithm Example needed

Posted on 2004-08-29
6
1,319 Views
Last Modified: 2010-05-18
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
Comment
Question by:moneymama
6 Comments
 
LVL 14

Expert Comment

by:sudhakar_koundinya
ID: 11927742
use javax.cryto package

0
 
LVL 14

Accepted Solution

by:
sudhakar_koundinya earned 250 total points
ID: 11927744
0
 
LVL 14

Expert Comment

by:sudhakar_koundinya
ID: 11927749
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 12

Expert Comment

by:Giant2
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

by:rafiek
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 {
    String xform = "DES/ECB/PKCS5Padding";
    // 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

by:moneymama
ID: 11929984
thanks for ur inputs.

Basically I need to encrypt and decrypt the objects.

thanks
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
groovy example issue 10 90
Java Filesystem manipulation of Word Docx file (find replace text) 3 67
recursion example 16 112
micro services spring boot application error 3 149
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
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.
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now