您的位置:首页 > 编程语言 > Java开发

几种JAVA加密算法

2013-03-01 16:04 239 查看
  1. MD5加密,常用于加密用户名密码,当用户验证时。

   protected byte[] encrypt(byte[] obj) ...{

  try ...{

  MessageDigest md5 = MessageDigest.getInstance("MD5");

  md5.update(obj);

  return md5.digest();

  } catch (NoSuchAlgorithmException e) ...{

  e.printStackTrace();

  }

  }

  2. SHA加密,与MD5相似的用法,只是两者的算法不同。

   protected byte[] encrypt(byte[] obj) ...{

  try ...{

  MessageDigest sha = MessageDigest.getInstance("SHA");

  sha.update(obj);

  return sha.digest();

  } catch (NoSuchAlgorithmException e) ...{

  e.printStackTrace();

  }

  }

  3. RSA加密,RAS加密允许解密。常用于文本内容的加密。

    import java.security.KeyPair;

  import java.security.KeyPairGenerator;

  import java.security.interfaces.RSAPrivateKey;

  import java.security.interfaces.RSAPublicKey;

  import javax.crypto.Cipher;   /** *//**

  * RSAEncrypt

  *

  * @author maqujun

  * @see

  */

  public class RSAEncrypt ...{

  /** *//**

  * Main method for RSAEncrypt.

  * @param args

  */

  public static void main(String[] args) ...{

  try ...{

  RSAEncrypt encrypt = new RSAEncrypt();

  String encryptText = "encryptText";

  KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");

  keyPairGen.initialize(1024);

  KeyPair keyPair = keyPairGen.generateKeyPair();

  // Generate keys

  RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();

  RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();

  byte[] e = encrypt.encrypt(publicKey, encryptText.getBytes());

  byte[] de = encrypt.decrypt(privateKey,e);

  System.out.println(encrypt.bytesToString(e));

  System.out.println(encrypt.bytesToString(de));

  } catch (Exception e) ...{

  e.printStackTrace();

  }

  }

  /** *//**

  * Change byte array to String.

  * @return byte[]

  */

  protected String bytesToString(byte[] encrytpByte) ...{

  String result = "";

  for (Byte bytes : encrytpByte) ...{

  result += (char) bytes.intValue();

  }

  return result;

  }

  /** *//**

  * Encrypt String.

  * @return byte[]

  */

  protected byte[] encrypt(RSAPublicKey publicKey, byte[] obj) ...{

  if (publicKey != null) ...{

  try ...{

  Cipher cipher = Cipher.getInstance("RSA");

  cipher.init(Cipher.ENCRYPT_MODE, publicKey);

  return cipher.doFinal(obj);

  } catch (Exception e) ...{

  e.printStackTrace();

  }

  }

  return null;

  }

  /** *//**

  * Basic decrypt method

  * @return byte[]

  */

  protected byte[] decrypt(RSAPrivateKey privateKey, byte[] obj) ...{

  if (privateKey != null) ...{

  try ...{

  Cipher cipher = Cipher.getInstance("RSA");

  cipher.init(Cipher.DECRYPT_MODE, privateKey);

  return cipher.doFinal(obj);

  } catch (Exception e) ...{

  e.printStackTrace();

  }

  }

  return null;

  }

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java