用SHA1加密后一直返回null
public static String getSha1(String str){
if(str == null || str.length() == 0){
return null;
}
System.out.println(str);
char hexDigits[] = {'1','2','3','4','5','6','7','8','9','a','b','c',
'd','e','f'};
try {
MessageDigest mdTemp = MessageDigest.getInstance("SHA-1");
mdTemp.update(str.getBytes("UTF-8"));
byte[] md = mdTemp.digest();
int j = md.length;
char buf[] = new char[j * 2];
int k = 0;
for(int i = 0;i<j;i++){
byte byte0 = md[i];
buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
buf[k++] = hexDigits[byte0 & 0xf];
}
return new String(buf);
}catch (Exception e) {
return null;
}
}
2015-07-28
char hexDigits[] = {'1','2','3','4','5','6','7','8','9','a','b','c',
'd','e','f'};
中掉了一個(gè)0??所以會(huì)發(fā)生數(shù)組下標(biāo)越界,所以直接return null;
2015-07-03
MessageDigest mdTemp = MessageDigest.getInstance("SHA-1");我看到老師寫(xiě)的是"SHA1"
2015-06-10
在return new String(buf);之前用輸出語(yǔ)句輸出new String(buf)的內(nèi)容,看看是什么