標籤:val uri digest sage roc ken 資料 hal void
原文:http://www.cnblogs.com/visec479/p/4013854.html
package Token;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;import Decoder.BASE64Encoder;//令牌生產器public class TokenProcessor { private TokenProcessor(){} private static TokenProcessor instance = new TokenProcessor(); public static TokenProcessor getInstance(){ return instance; } public String generateTokeCode(){ String value = System.currentTimeMillis()+new Random().nextInt()+""; System.out.println(value); long currentTime = System.currentTimeMillis(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy年-MM月dd日-HH時mm分ss秒"); Date date = new Date(currentTime); System.out.println(formatter.format(date)); //擷取資料指紋,指紋是唯一的 try { MessageDigest md = MessageDigest.getInstance("md5"); byte[] b = md.digest(value.getBytes());//產生資料的指紋 //Base64編碼 BASE64Encoder be = new BASE64Encoder(); be.encode(b); System.out.println(be.encode(b)); return be.encode(b);//制定一個編碼 } catch (NoSuchAlgorithmException e){ e.printStackTrace(); } return null; } public static void main(String[] args) { TokenProcessor processor=new TokenProcessor(); processor.generateTokeCode(); }}
Java令牌產生器