Java中常用的加密算法应用MD5SHA,RSA

纯情的小太阳er

纯情的小太阳er

2016-02-19 20:03

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享Java中常用的加密算法应用MD5SHA,RSA教程,希望对大家能有一点小小的帮助。

  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();
      }
  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

import Java.security.KeyPair;
  import java.security.KeyPairGenerator;
  import java.security.interfaces.RSAPrivateKey;
  import java.security.interfaces.RSAPublicKey;
  import javax.crypto.Cipher;
  /** *//**
   * bRSAEncrypt/b
   * p
   * @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;
      }
  }


展开更多 50%)
分享

猜你喜欢

Java中常用的加密算法应用MD5SHA,RSA

编程语言 网络编程
Java中常用的加密算法应用MD5SHA,RSA

java开发之MD5加密算法的实现

编程语言 网络编程
java开发之MD5加密算法的实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

常用加密算法

电脑网络
常用加密算法

基于Java的IDEA加密算法

Java JAVA基础
基于Java的IDEA加密算法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

利用JAVA实现DES加密算法

编程语言 网络编程
利用JAVA实现DES加密算法

基于Java的IDEA加密算法探讨

编程语言 网络编程
基于Java的IDEA加密算法探讨

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JAVA使用XML作为持久存储介质实现方法

JAVA使用XML作为持久存储介质实现方法

Eclipse 3.0快速上手指南之安装配置

Eclipse 3.0快速上手指南之安装配置
下拉加载更多内容 ↓