单例模式的实际应用之生成数据指纹

来源:互联网 发布:淘宝小号交易平台 编辑:程序博客网 时间:2024/05/22 14:02
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);    }}
0 0
原创粉丝点击