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

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

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

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

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;
  /** *//**
   * 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加密算法

提供两种散列加密算法:MD5、SHA1大小写敏感

电脑网络
提供两种散列加密算法:MD5、SHA1大小写敏感

lolAD刺客新符文搭配推荐

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

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

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

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

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