天天看點

android MD5和SHA1加密執行個體

//找了好久,網上的很多加密結果不對,最後百度加我自己修改成功解決問題

//如果想更好交流,期待您的加入,群号:451370308

public class MD5 {

//MD5加密執行個體

public static String getMD5(String str) throws NoSuchAlgorithmException {

MessageDigest md5 = null;

try {

md5 = MessageDigest.getInstance("MD5");

} catch (Exception e) {

e.printStackTrace();

return "";

}

char[] charArray = str.toCharArray();

byte[] byteArray = new byte[charArray.length];

for (int i = 0; i < charArray.length; i++) {

byteArray[i] = (byte) charArray[i];

}

byte[] md5Bytes = md5.digest(byteArray);

StringBuffer hexValue = new StringBuffer();

for (int i = 0; i < md5Bytes.length; i++) {

int val = ((int) md5Bytes[i]) & 0xff;

if (val < 16) {

hexValue.append("0");

}

hexValue.append(Integer.toHexString(val));

}

return hexValue.toString();

}

public static String byte2hex(byte[] b) {

String hs = "";

String stmp = "";

for (int n = 0; n < b.length; n++) {

stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));

if (stmp.length() == 1) {

hs = hs + "0" + stmp;

} else {

hs = hs + stmp;

}

}

return hs;

}

//SHA1 加密執行個體

public static  String encryptToSHA(String info) {

byte[] digesta = null;

try {

// 得到一個SHA-1的消息摘要

MessageDigest alga = MessageDigest.getInstance("SHA-1");

// 添加要進行計算摘要的資訊

alga.update(info.getBytes());

// 得到該摘要

digesta = alga.digest();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

// 将摘要轉為字元串

String rs = byte2hex(digesta);

return rs;

}

}