java的md5加密算法代碼
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
public final class Md5Util {
private static final char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c',
'd', 'e', 'f'};
public static String encode(File file) {
FileInputStream in = null;
MessageDigest md5 = null;
try {
in = new FileInputStream(file);
FileChannel ch = in.getChannel();
MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, 0, file.length());
md5 = MessageDigest.getInstance("MD5");
md5.update(byteBuffer);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return toHex(md5.digest());
}
public static String encode(String arg) {
if (arg == null) {
arg = "";
}
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
md5.update(arg.getBytes("UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}
return toHex(md5.digest());
}
private static String toHex(byte[] bytes) {
StringBuffer str = new StringBuffer(32);
for (byte b : bytes) {
str.append(hexDigits[(b & 0xf0) >> 4]);
str.append(hexDigits[(b & 0x0f)]);
}
return str.toString();
}
}</pre>
來自: http://blog.csdn.net//u011067360/article/details/24417387
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!