有没有使用java.security类来加密文本(不是数字签名)的程序?可否给我看看.我不会用那个类.最好是用RSA和DES算法的. 我发给你一个吧,你的e-mail是? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用java.security包是不能进行加密操作的,只能用 javax.crypto 的。至于例子,你可以看一个jce的文档和例子,(jce在jdk1.3以前是单独的扩展包,在jdk1.4才被加入,就是那个crypto包了)。可以在java.sun.com找到相关资料,有文档、教程和例子。 确实要用到javax.crypto.*, 我这里有一些例程,但愿对你有帮助:import javax.crypto.Cipher;import javax.crypto.NoSuchPaddingException;import java.security.Security;import java.security.NoSuchAlgorithmException;public class DESCipherGenerator { public static void main(String[] args) { Security.addProvider(new com.sun.crypto.provider.SunJCE()); try { Cipher cipher = Cipher.getInstance("DES"); System.out.println("Cipher provider: " + cipher.getProvider()); System.out.println("Cipher algorithm: " + cipher.getAlgorithm()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { e.printStackTrace(); } }} //--------------------------------------import javax.crypto.KeyGenerator;import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.Security;public class DESKeyGenerator { public static void main(String[] args) { Security.addProvider(new com.sun.crypto.provider.SunJCE()); try { KeyGenerator kg = KeyGenerator.getInstance("DES"); Key key = kg.generateKey(); System.out.println("Key format: " + key.getFormat()); System.out.println("Key algorithm: " + key.getAlgorithm()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } }}//-----------------------------------------import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.NoSuchPaddingException;import javax.crypto.IllegalBlockSizeException;import javax.crypto.BadPaddingException;import java.security.Key;import java.security.Security;import java.security.NoSuchAlgorithmException;import java.security.InvalidKeyException;public class DESCryptoTest { public static void main(String[] args) { Security.addProvider(new com.sun.crypto.provider.SunJCE()); try { KeyGenerator kg = KeyGenerator.getInstance("DES"); Key key = kg.generateKey(); Cipher cipher = Cipher.getInstance("DES"); byte[] data = "Hello World!".getBytes(); System.out.println("Original data : " + new String(data)); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] result = cipher.doFinal(data); System.out.println("Encrypted data: " + new String(result)); cipher.init(Cipher.DECRYPT_MODE, key); byte[] original = cipher.doFinal(result); System.out.println("Decrypted data: " + new String(original)); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { e.printStackTrace(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } }} Kevin 给我发一个好吗? [email protected] 菜鸟求救:单选按钮事件监听器 怎样用properties连接MYSQL JAVA干了一年半,现在有点小问题,请前辈们给点意见吧 问个关于Java和OpenOffice的问题 抽象类方法不能实例化?那怎么使用抽象类中的方法?(新人问题) 请帮忙!!!!! 问个菜鸟问题! 作MailingList请指教!!!在线等待! 用j2se建立商业软件需要向Sun付费吗? 请教一个关于数组造型的问题! 请教大侠:Jbuilder7下如何配置DataSource? 线程中wait\notify和suspend\resumer有什么不同?
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import java.security.Security;
import java.security.NoSuchAlgorithmException;
public class DESCipherGenerator {
public static void main(String[] args) {
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
Cipher cipher = Cipher.getInstance("DES");
System.out.println("Cipher provider: " + cipher.getProvider());
System.out.println("Cipher algorithm: " + cipher.getAlgorithm());
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
catch (NoSuchPaddingException e) {
e.printStackTrace();
}
}
}
//--------------------------------------import javax.crypto.KeyGenerator;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
public class DESKeyGenerator {
public static void main(String[] args) {
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
KeyGenerator kg = KeyGenerator.getInstance("DES");
Key key = kg.generateKey();
System.out.println("Key format: " + key.getFormat());
System.out.println("Key algorithm: " + key.getAlgorithm());
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}//-----------------------------------------import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.BadPaddingException;
import java.security.Key;
import java.security.Security;
import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;
public class DESCryptoTest {
public static void main(String[] args) {
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
KeyGenerator kg = KeyGenerator.getInstance("DES");
Key key = kg.generateKey();
Cipher cipher = Cipher.getInstance("DES");
byte[] data = "Hello World!".getBytes();
System.out.println("Original data : " + new String(data));
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] result = cipher.doFinal(data);
System.out.println("Encrypted data: " + new String(result));
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] original = cipher.doFinal(result);
System.out.println("Decrypted data: " + new String(original));
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
catch (NoSuchPaddingException e) {
e.printStackTrace();
}
catch (InvalidKeyException e) {
e.printStackTrace();
}
catch (IllegalStateException e) {
e.printStackTrace();
}
catch (IllegalBlockSizeException e) {
e.printStackTrace();
}
catch (BadPaddingException e) {
e.printStackTrace();
}
}
}