package com.cxg.demo.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
import org.apache.commons.codec.binary.Base64;
/**
* Title: 单例模式在实践中应用实例--饿汉模式
* *****生成数据指纹********
* Description: TestDemo
* @author lu
* @date 2016年7月5日 下午2:26:55
*/
public class SingletonDemo {
//1、把类的构造函数私有
private SingletonDemo(){};
//2、自己创建一个类的对象
private static final SingletonDemo instance=new SingletonDemo();
//设置对象的get属性
private static SingletonDemo getInstance(){
return instance;
}
//3、对外提供一个公共的方法,返回类的对象
public String returnString(){
String returnString = (System.currentTimeMillis() + new Random().nextInt(999999999)) + "";
//数据指纹 128位长 16个字节 md5
try {
MessageDigest md = MessageDigest.getInstance("md5");
byte md5[] = md.digest(returnString.getBytes());
//base64编码--任意二进制编码明文字符 adfsdfsdfsf
return Base64.encodeBase64String(md5);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
//测试类
public static void main(String[] args) {
String a=SingletonDemo.getInstance().returnString();
System.out.println("返回的唯一字符串是:"+a);
}
}
单例模式的实际应用之生成数据指纹

最新推荐文章于 2025-09-05 09:17:43 发布
