首先,SUN的JDK/JCE中不提供3DES算法,
但是JDK提供一种加载机制(provider),在chiper.getInstance()的时候,
可以指明要引用的加/解密算法及提供者。第二,一般可以使用cryptix的开源无限制的开发包,
(当然cryptix还有其它很多如PGP背包算法什么的),
cryptix开发包下载地址是:http://www.cryptix.org/
Cryptix OpenPGP snapshot 2004/12/02 cryptix-openpgp-20041202-snap.zip 
Cryptix JCE snapshot 2004/08/25 cryptix-jce-20040825-snap.zip 
...其中cryptix-jce-20040825-snap.zip是你需要的:http://www.cryptix.org/cryptix-jce-20040825-snap.zip
下载后解压,将所有的jar包放弃jdk或者其它对应的路径中,如果用IDE开发你就要在工程属性里面加进去第三,一般默认JDK安装完成后,没有加载这个provider,需要修改类似
C:\j2sdk1.4.2_06\jre\lib\security\java.security配置文件,具体在哪看你安装在哪罗,
添加如下一项内容:security.provider.6=cryptix.jce.provider.cipher.TripleDES ,
我的是.6你的根据实际已经有的加1就OK了。
第四,下面是一个简单例子。呵呵。运行一下,如果参数和你需要的不同,你就查一下API,:)
Simple3DES.java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;class Simple3DES {public static void main (String[] args) { try {
String sKey = "123456789012345678901234"; SecretKeySpec skeySpec = new SecretKeySpec(sKey.getBytes(),"TripleDES");
        Cipher cipher=Cipher.getInstance("TripleDES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] cleartext = "testcontent".getBytes();
byte[] encrypted = cipher.doFinal(cleartext,0,cleartext.length);
        StringBuffer sb = new StringBuffer();
for (int j = 0; j < encrypted.length; j++) {
int k = encrypted[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
System.err.println("result:" + sb.toString());
} catch (Exception e) {
System.err.println("Caught exception " + e.toString());
} }
}