我正在使用 MessageDigest 类来获取使用 SHA1 或 MD5 的字符串的哈希值。这是使用 MD5 的示例代码
private static String applyHashToKey(String key){
byte[] hashkey = null;
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
hashkey = md.digest(new BASE64Decoder().decodeBuffer(key));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String result = new BASE64Encoder().encodeBuffer(hashkey);
return result;
}
现在我注意到的是,要么我使用 SHA1,要么我使用 MD5 ,我从这个函数返回的哈希字符串最后总是有一个 \r\n。
例如:Y60SedKVyEkKH4LKdikpc+zu5+0=\r\n
关于发生了什么的任何想法。这可以吗,还是我做错了什么并自己介绍了\r\n?