MD5 SHA1 BASE64加密算法

  1. import java.security.MessageDigest;  
  2. import java.security.NoSuchAlgorithmException;  
  3.   
  4.   
  5. import sun.misc.BASE64Decoder;  
  6.   
  7. public class PasswdUtil {  
  8.     /** 
  9.      * SHA加密 
  10.      * @param decript 
  11.      * @return 
  12.      */  
  13.     public static String SHA1(String input) {  
  14.         if(input == null){  
  15.             return "";  
  16.         }  
  17.         try {  
  18.             MessageDigest digest = java.security.MessageDigest  
  19.                     .getInstance("SHA-1");  
  20.             digest.update(input.getBytes());  
  21.             byte messageDigest[] = digest.digest();  
  22.             // Create Hex String  
  23.             StringBuffer hexString = new StringBuffer();  
  24.             // 字节数组转换为 十六进制 数  
  25.             for (int i = 0; i < messageDigest.length; i++) {  
  26.                 String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);  
  27.                 if (shaHex.length() < 2) {  
  28.                     hexString.append(0);  
  29.                 }  
  30.                 hexString.append(shaHex);  
  31.             }  
  32.             return hexString.toString();  
  33.   
  34.         } catch (NoSuchAlgorithmException e) {  
  35.             e.printStackTrace();  
  36.         }  
  37.         return "";  
  38.     }  
  39.     /** 
  40.      * MD5加密 
  41.      * @param input 
  42.      * @return 
  43.      */  
  44.     public static String MD5(String input) {  
  45.         if(input == null){  
  46.             return "";  
  47.         }  
  48.         try {  
  49.             // 获得MD5摘要算法的 MessageDigest 对象  
  50.             MessageDigest mdInst = MessageDigest.getInstance("MD5");  
  51.             // 使用指定的字节更新摘要  
  52.             mdInst.update(input.getBytes());  
  53.             // 获得密文  
  54.             byte[] md = mdInst.digest();  
  55.             // 把密文转换成十六进制的字符串形式  
  56.             StringBuffer hexString = new StringBuffer();  
  57.             // 字节数组转换为 十六进制 数  
  58.             for (int i = 0; i < md.length; i++) {  
  59.                 String shaHex = Integer.toHexString(md[i] & 0xFF);  
  60.                 if (shaHex.length() < 2) {  
  61.                     hexString.append(0);  
  62.                 }  
  63.                 hexString.append(shaHex);  
  64.             }  
  65.             return hexString.toString();  
  66.         } catch (NoSuchAlgorithmException e) {  
  67.             e.printStackTrace();  
  68.         }  
  69.         return "";  
  70.     }  
  71.   
  72.     /** 
  73.      * BASE64解密 
  74.      */  
  75.     public static String decryptBASE64(String input) {  
  76.         if (input == null){  
  77.             return "";  
  78.         }  
  79.         BASE64Decoder decoder = new BASE64Decoder();  
  80.         String pwd = "";  
  81.         try {  
  82.             byte[] b = decoder.decodeBuffer(input);  
  83.             pwd = new String(b);  
  84.         } catch (Exception e) {  
  85.             e.printStackTrace();  
  86.         }  
  87.           
  88.         return pwd;  
  89.     }  
  90.   
  91.     /** 
  92.      * BASE64加密 
  93.      */  
  94.     public static String encryptBASE64(String input) {  
  95.         if(input == null){  
  96.             return "";  
  97.         }  
  98.         return new sun.misc.BASE64Encoder().encode(input.getBytes());  
  99.   
  100.     }  
  101.       
  102. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值