`

Md5+Base64产生令牌

    博客分类:
  • java
阅读更多
import java.security.MessageDigest;
import java.util.Random;

import sun.misc.BASE64Encoder;

// 令牌产生器
public class TokenProccessor {
 
 // 单例
 private TokenProccessor(){}
 
 private static TokenProccessor instance = new TokenProccessor();
 
 public static TokenProccessor newInstance() {
  return instance;
 }
 
 // 产生令牌
 public String makeToken() {
  try {
   // 1. 产生一个随机数
   String token = new Random().nextInt(19999999) + ""
     + System.currentTimeMillis();
   // 2. 长度大小不一致
   // 指纹算法 消息摘要 md5 MessageDigest
   MessageDigest messageDigest = MessageDigest.getInstance("md5");
   byte[] md5 = messageDigest.digest(token.getBytes());
   
   // 将 任意的字节数组 转为可见的字符 转为明文
   // base64 算法
   BASE64Encoder encoder = new BASE64Encoder();
   String result = encoder.encode(md5);

   return result;
  } catch (Exception e) {
   throw new TokenException(e);
  }
 }

}




package cn.easyknow.elec.test;

import java.security.MessageDigest;
import java.util.Random;

import sun.misc.BASE64Encoder;

// 令牌产生器
public class md5Digest {
 
 // 产生令牌
 public static String makeToken(String password) {
  try {
   MessageDigest messageDigest = MessageDigest.getInstance("md5");
   byte[] md5 = messageDigest.digest(password.getBytes());
   
   // 将 任意的字节数组 转为可见的字符 转为明文
   // base64 算法
   BASE64Encoder encoder = new BASE64Encoder();
   String result = encoder.encode(md5);

   return result;
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
 }
public static void main(String[] args) {
 String token = makeToken("123411111");
 System.out.println(token);
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics