- 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 staticTokenProcessor instance =new TokenProcessor();
- public static TokenProcessor getInstance(){
- return instance;
- }
- public String generateTokeCode(){
- String value = System.currentTimeMillis()+newRandom().nextInt()+"";
- System.out.println(value);
- longcurrentTime = System.currentTimeMillis();
- SimpleDateFormat formatter =newSimpleDateFormat("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));
- returnbe.encode(b);//制定一个编码}catch (NoSuchAlgorithmException e){
- e.printStackTrace();
- }
- return null;
- }
- public static void main(String[] args) {
- TokenProcessor processor=new TokenProcessor();
- processor.generateTokeCode();
- }
- }
来源: