日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加密工具类 - CryptoUtils.java

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加密工具类 - CryptoUtils.java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

加密工具類,包含MD5,BASE64,SHA,CRC32的加密與解密方法。

?

源碼如下:(點擊下載? -?CryptoUtils.javacommons-io-2.4.jarcommons-codec-1.9.jar?)

1 import java.io.BufferedInputStream; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.UnsupportedEncodingException; 8 import java.net.URL; 9 import java.util.zip.CRC32; 10 import java.util.zip.CheckedInputStream; 11 import org.apache.commons.codec.binary.Base64; 12 import org.apache.commons.codec.digest.DigestUtils; 13 import org.apache.commons.io.IOUtils; 14 15 /** 16 * 加密工具類,包含MD5,BASE64,SHA,CRC32 17 * 18 */ 19 public class CryptoUtils { 20 21 private static final String DEFAULT_CHARSET = "UTF-8"; 22 23 /** 24 * MD5加密 25 * 26 * @param bytes 27 * an array of byte. 28 * @return a {@link java.lang.String} object. 29 */ 30 public static String encodeMD5(final byte[] bytes) { 31 return DigestUtils.md5Hex(bytes); 32 } 33 34 /** 35 * MD5加密,默認UTF-8 36 * 37 * @param str 38 * a {@link java.lang.String} object. 39 * @return a {@link java.lang.String} object. 40 */ 41 public static String encodeMD5(final String str) { 42 return encodeMD5(str, DEFAULT_CHARSET); 43 } 44 45 /** 46 * MD5加密 47 * 48 * @param str 49 * a {@link java.lang.String} object. 50 * @param charset 51 * a {@link java.lang.String} object. 52 * @return a {@link java.lang.String} object. 53 */ 54 public static String encodeMD5(final String str, final String charset) { 55 if (str == null) { 56 return null; 57 } 58 try { 59 byte[] bytes = str.getBytes(charset); 60 return encodeMD5(bytes); 61 } catch (UnsupportedEncodingException e) { 62 throw new RuntimeException(e); 63 } 64 } 65 66 /** 67 * SHA加密 68 * 69 * @param bytes 70 * an array of byte. 71 * @return a {@link java.lang.String} object. 72 */ 73 public static String encodeSHA(final byte[] bytes) { 74 return DigestUtils.sha512Hex(bytes); 75 } 76 77 /** 78 * SHA加密 79 * 80 * @param str 81 * a {@link java.lang.String} object. 82 * @param charset 83 * a {@link java.lang.String} object. 84 * @return a {@link java.lang.String} object. 85 */ 86 public static String encodeSHA(final String str, final String charset) { 87 if (str == null) { 88 return null; 89 } 90 try { 91 byte[] bytes = str.getBytes(charset); 92 return encodeSHA(bytes); 93 } catch (UnsupportedEncodingException e) { 94 throw new RuntimeException(e); 95 } 96 } 97 98 /** 99 * SHA加密,默認utf-8 100 * 101 * @param str 102 * a {@link java.lang.String} object. 103 * @return a {@link java.lang.String} object. 104 */ 105 public static String encodeSHA(final String str) { 106 return encodeSHA(str, DEFAULT_CHARSET); 107 } 108 109 /** 110 * BASE64加密 111 * 112 * @param bytes 113 * an array of byte. 114 * @return a {@link java.lang.String} object. 115 */ 116 public static String encodeBASE64(final byte[] bytes) { 117 return new String(Base64.encodeBase64String(bytes)); 118 } 119 120 /** 121 * BASE64加密 122 * 123 * @param str 124 * a {@link java.lang.String} object. 125 * @param charset 126 * a {@link java.lang.String} object. 127 * @return a {@link java.lang.String} object. 128 */ 129 public static String encodeBASE64(final String str, String charset) { 130 if (str == null) { 131 return null; 132 } 133 try { 134 byte[] bytes = str.getBytes(charset); 135 return encodeBASE64(bytes); 136 } catch (UnsupportedEncodingException e) { 137 throw new RuntimeException(e); 138 } 139 } 140 141 /** 142 * BASE64加密,默認UTF-8 143 * 144 * @param str 145 * a {@link java.lang.String} object. 146 * @return a {@link java.lang.String} object. 147 */ 148 public static String encodeBASE64(final String str) { 149 return encodeBASE64(str, DEFAULT_CHARSET); 150 } 151 152 /** 153 * BASE64解密,默認UTF-8 154 * 155 * @param str 156 * a {@link java.lang.String} object. 157 * @return a {@link java.lang.String} object. 158 */ 159 public static String decodeBASE64(String str) { 160 return decodeBASE64(str, DEFAULT_CHARSET); 161 } 162 163 /** 164 * BASE64解密 165 * 166 * @param str 167 * a {@link java.lang.String} object. 168 * @param charset 169 * 字符編碼 170 * @return a {@link java.lang.String} object. 171 */ 172 public static String decodeBASE64(String str, String charset) { 173 try { 174 byte[] bytes = str.getBytes(charset); 175 return new String(Base64.decodeBase64(bytes)); 176 } catch (UnsupportedEncodingException e) { 177 throw new RuntimeException(e); 178 } 179 } 180 181 /** 182 * CRC32字節校驗 183 * 184 * @param bytes 185 * an array of byte. 186 * @return a {@link java.lang.String} object. 187 */ 188 public static String crc32(byte[] bytes) { 189 CRC32 crc32 = new CRC32(); 190 crc32.update(bytes); 191 return Long.toHexString(crc32.getValue()); 192 } 193 194 /** 195 * CRC32字符串校驗 196 * 197 * @param str 198 * a {@link java.lang.String} object. 199 * @param charset 200 * a {@link java.lang.String} object. 201 * @return a {@link java.lang.String} object. 202 */ 203 public static String crc32(final String str, String charset) { 204 try { 205 byte[] bytes = str.getBytes(charset); 206 return crc32(bytes); 207 } catch (UnsupportedEncodingException e) { 208 throw new RuntimeException(e); 209 } 210 } 211 212 /** 213 * CRC32字符串校驗,默認UTF-8編碼讀取 214 * 215 * @param str 216 * a {@link java.lang.String} object. 217 * @return a {@link java.lang.String} object. 218 */ 219 public static String crc32(final String str) { 220 return crc32(str, DEFAULT_CHARSET); 221 } 222 223 /** 224 * CRC32流校驗 225 * 226 * @param input 227 * a {@link java.io.InputStream} object. 228 * @return a {@link java.lang.String} object. 229 */ 230 public static String crc32(InputStream input) { 231 CRC32 crc32 = new CRC32(); 232 CheckedInputStream checkInputStream = null; 233 int test = 0; 234 try { 235 checkInputStream = new CheckedInputStream(input, crc32); 236 do { 237 test = checkInputStream.read(); 238 } while (test != -1); 239 return Long.toHexString(crc32.getValue()); 240 } catch (IOException e) { 241 e.printStackTrace(); 242 throw new RuntimeException(e); 243 } 244 } 245 246 /** 247 * CRC32文件唯一校驗 248 * 249 * @param file 250 * a {@link java.io.File} object. 251 * @return a {@link java.lang.String} object. 252 */ 253 public static String crc32(File file) { 254 InputStream input = null; 255 try { 256 input = new BufferedInputStream(new FileInputStream(file)); 257 return crc32(input); 258 } catch (FileNotFoundException e) { 259 e.printStackTrace(); 260 throw new RuntimeException(e); 261 } finally { 262 IOUtils.closeQuietly(input); 263 } 264 } 265 266 /** 267 * CRC32文件唯一校驗 268 * 269 * @param url 270 * a {@link java.net.URL} object. 271 * @return a {@link java.lang.String} object. 272 */ 273 public static String crc32(URL url) { 274 InputStream input = null; 275 try { 276 input = url.openStream(); 277 return crc32(input); 278 } catch (IOException e) { 279 e.printStackTrace(); 280 throw new RuntimeException(e); 281 } finally { 282 IOUtils.closeQuietly(input); 283 } 284 } 285 }

?

轉載于:https://www.cnblogs.com/zhoubang521/p/5200608.html

總結

以上是生活随笔為你收集整理的加密工具类 - CryptoUtils.java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美 日韩 国产 中文 | 五月婷婷丁香 | 男人和女人搞鸡 | 亚洲女人初尝黑人巨大 | 国产性hd| 国产精品免费av一区二区三区 | 日本h在线观看 | 久操视频在线观看 | 成人免费看片98欧美 | 人人干人人爽 | 亚洲熟女乱综合一区二区 | 激情草逼 | 综合伊人av | 精品国产99一区二区乱码综合 | 99热这里只有精品7 青青草社区 | 午夜偷拍福利视频 | 久久亚洲av成人无码国产电影 | 91在现看| 日韩av男人天堂 | 一区二区三区资源 | 亚洲天堂2015| 国产传媒国产传媒 | 欧美一区二区三区视频在线 | 狠狠的干狠狠的操 | 人妻激情偷乱视频一区二区三区 | 日本黄色片免费 | a久久久久久 | 日韩av高清在线观看 | 成人手机视频在线观看 | 99热这里只有精品在线 | 蜜臀av免费一区二区三区水牛 | 草久在线视频 | av丝袜在线| 国产黄a三级三级三级看三级男男 | 波多野结衣一区二区三区免费视频 | 日本 奴役 捆绑 受虐狂xxxx | 亚洲av首页在线 | 激情综合一区二区三区 | 日本系列第一页 | 亚洲色图18p | 国产在线看一区 | 国产日韩一区 | 国产超碰av | 轮乱| 免费在线一级片 | 男人的天堂久久 | 日本韩国欧美在线 | 免费成人精品 | 久久久区 | 不卡一区在线观看 | 婷婷在线免费 | 欧美国产高清 | 波多在线视频 | 午夜h | 国产女人高潮时对白 | 天天摸天天射 | 91手机在线| 日本成人精品视频 | 亚洲美女色视频 | 中文字幕av一区 | 欧美综合网站 | 亚洲最大av| 深夜福利视频网站 | 99精品在线免费视频 | 超碰人人澡 | 九一国产精品 | 97精品人妻一区二区三区蜜桃 | 天天爽天天插 | 中文字幕第一区综合 | 色天天综合网 | 亚洲一区二区三区四区在线 | 一区二区三区四区中文字幕 | 日本精品久久久 | 欧美老女人性生活视频 | 美女在线网站 | 色臀| 午夜性福利视频 | 久久久少妇 | av最新版天堂资源在线 | 天堂资源最新在线 | 国产日产欧洲无码视频 | 无码精品国产一区二区三区 | 欧美整片sss | 黄色中文视频 | 国产精品九九视频 | 亚洲色鬼 | 日韩小视频在线 | 中文字幕有码在线视频 | 天天爽天天爽 | 亚洲综合图片一区 | 美女爆乳18禁www久久久久久 | 九色在线观看视频 | 黑料av在线 | 麻豆高清免费国产一区 | 91avcom| 狠狠操免费视频 | av免| 日韩毛片免费观看 | 精品二区视频 |