base64编码 与 MD5加密

/**
 98      * MD5加密
 99      * @param str 内容       
100      * @param charset 编码方式
101      * @throws Exception 
102      */
103     @SuppressWarnings("unused")
104     private String MD5(String str, String charset) throws Exception {
105         MessageDigest md = MessageDigest.getInstance("MD5");
106         md.update(str.getBytes(charset));
107         byte[] result = md.digest();
108         StringBuffer sb = new StringBuffer(32);
109         for (int i = 0; i < result.length; i++) {
110             int val = result[i] & 0xff;
111             if (val <= 0xf) {
112                 sb.append("0");
113             }
114             sb.append(Integer.toHexString(val));
115         }
116         return sb.toString().toLowerCase();
117     }

private static char[] base64EncodeChars = new char[] { 
228         'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 
229         'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 
230         'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 
231         'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 
232         'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 
233         'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 
234         'w', 'x', 'y', 'z', '0', '1', '2', '3', 
235         '4', '5', '6', '7', '8', '9', '+', '/' }; 
236     
237     public static String base64Encode(byte[] data) { 
238         StringBuffer sb = new StringBuffer(); 
239         int len = data.length; 
240         int i = 0; 
241         int b1, b2, b3; 
242         while (i < len) { 
243             b1 = data[i++] & 0xff; 
244             if (i == len) 
245             { 
246                 sb.append(base64EncodeChars[b1 >>> 2]); 
247                 sb.append(base64EncodeChars[(b1 & 0x3) << 4]); 
248                 sb.append("=="); 
249                 break; 
250             } 
251             b2 = data[i++] & 0xff; 
252             if (i == len) 
253             { 
254                 sb.append(base64EncodeChars[b1 >>> 2]); 
255                 sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]); 
256                 sb.append(base64EncodeChars[(b2 & 0x0f) << 2]); 
257                 sb.append("="); 
258                 break; 
259             } 
260             b3 = data[i++] & 0xff; 
261             sb.append(base64EncodeChars[b1 >>> 2]); 
262             sb.append(base64EncodeChars[((b1 & 0x03) << 4) | ((b2 & 0xf0) >>> 4)]); 
263             sb.append(base64EncodeChars[((b2 & 0x0f) << 2) | ((b3 & 0xc0) >>> 6)]); 
264             sb.append(base64EncodeChars[b3 & 0x3f]); 
265         } 
266         return sb.toString(); 
267     }

118

 /**
120      * base64编码
121      * @param str 内容       
122      * @param charset 编码方式
123      * @throws UnsupportedEncodingException 
124      */
125     private String base64(String str, String charset) throws UnsupportedEncodingException{
126         String encoded = base64Encode(str.getBytes(charset));
127         return encoded;    
128     }    
129     
130     @SuppressWarnings("unused")
131     private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{
132         String result = URLEncoder.encode(str, charset);
133         return result;
134     }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值