你的位置:首页 > 软件开发 > Java > java 实现加密

java 实现加密

发布时间:2015-08-21 19:00:08
加密有单向加密和双向加密之分,也叫对称加密和非对称加密,双向加密就是把数据加密后,还可以解密成原来的数据,但是需要使用到密钥,而且必须是同一个密钥.才可以解密成原来的数据.一开始我也不知道,密钥是使用系统生成的密钥,加密和解密分开操作的时候,加密过后,数据就解密不出来了.java ...

  加密有单向加密和双向加密之分,也叫对称加密和非对称加密,双向加密就是把数据加密后,还可以解密成原来的数据,但是需要使用到密钥,而且必须是同一个密钥.才可以解密成原来的数据.一开始我也不知道,密钥是使用系统生成的密钥,加密和解密分开操作的时候,加密过后,数据就解密不出来了.java实现加密的方法有DES,AES,等这些对称加密.单向加密从严格的意义来讲不算加密.只是实现了一定的算法,但是不可以逆转.MD5加密就是一个单向非对称加密的技术.直接上代码

 

package com.chen;import java.security.InvalidKeyException;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;public class Chen {  // 密钥生成器  private KeyGenerator kg = null;  // 密钥  private SecretKey key = null;  // 进行加密和解密  private Cipher cip = null;  public Chen() throws Exception{    kg = KeyGenerator.getInstance("DES");    key = kg.generateKey();    cip = Cipher.getInstance("DES");  }  public byte[] encrypt(byte[] s) throws InvalidKeyException, IllegalBlockSizeException, BadPaddingException{    // 初始化    cip.init(Cipher.ENCRYPT_MODE, key);    // 加密    return cip.doFinal(s);  }  public byte[] decrypt(byte[] b) throws InvalidKeyException, IllegalBlockSizeException, BadPaddingException{    // 初始化    cip.init(Cipher.DECRYPT_MODE, key);    // 解密    return cip.doFinal(b);  }  public static void main(String[] args) {    try {      Chen chen = new Chen();      String str = "aba萨芬斯蒂芬";      // 加密      byte[] temp = chen.encrypt(str.getBytes());      // 解密      byte[] flag = chen.decrypt(temp);      System.out.println("明文 : " + str);      System.out.println("加密后的数据 : " + new String(temp));      System.out.println("解密后的数据 : " + new String(flag));    } catch (Exception e) {      e.printStackTrace();    }  }}

原标题:java 实现加密

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。