复制代码代码如下:
导入com.google.common.base.charsets;
导入com.google.common.hash.hashing;
导入java.util.date;
导入org.apache.commons.lang.time.fastDateFormat;
/**
*
* @author查尔斯
*/
公共类Tokenutils {
私有静态最终字符串privateKey =“ fdas34ljfr sja@#8 $%dfkl; js&4*daklfjsdl; akfjsa342“;
公共静态字符串getToken(字符串密码,字符串日期){
返回hashing.md5()。newhasher()。
putString(密码,charsets.utf_8)。
putString(privateKey,charsets.utf_8)。
putString(date,charsets.utf_8).hash()。toString();
}
公共静态字符串getToken(字符串密码,日期){
返回hashing.md5()。newhasher()。
putString(密码,charsets.utf_8)。
putString(privateKey,charsets.utf_8)。
putString(getDate(date),charsets.utf_8).hash()。toString();
}
公共静态字符串getToken(字符串密码){
返回hashing.md5()。newhasher()。
putString(密码,charsets.utf_8)。
putString(privateKey,charsets.utf_8).putString(getDate(),charsets.utf_8).hash()。toString();
}
公共静态布尔有效孔(字符串令牌,字符串密码){
字符串确认= getToken(密码);
if(confirn..equals(token)){
返回true;
} 别的 {
返回false;
}
}
公共静态字符串getDate(){
日期= new Date(System.CurrentTimeMillis());
返回fastdateformat.getInstance(“ yyyymmddhh”)。格式(date);
}
公共静态字符串getDate(现在日期){
返回fastdateformat.getInstance(“ yyyymmddhh”)。格式(now);
}
公共静态字符串getNexThour(现在日期){
日期= new Date(Now.getTime()+60*60*1000);
返回fastdateformat.getInstance(“ yyyymmddhh”)。格式(date);
}
}