项目中需要产生一个scretStr,这个要求10分钟之内只能使用同一个scretStr,
所以我们做了一个工具类,其实就是记录第一次的时间然后第二次的时候和第一次比较,如果大于10分钟那么重新产生,如果不大于那么就是使用当前的。
我们的返回也就是当前的时间作为唯一的scretStr。
package com.app.utils.ui;
/**
* Created by Kodulf on 2016/7/12.
*/
public class OSSScreateStrUtil {
public static final long INTERVAL = 1000*60*10L; //10分钟之内只能生成一个
private static long lastCreateTime = 0L; //上一次生成的时间
public static String createStr()
{
long currenttime = System.currentTimeMillis();
//第一次的时候,那么就是当前的时间作为ScreateStr
if(lastCreateTime==0l){
lastCreateTime = currenttime;
return String.valueOf(lastCreateTime);
}
//第二次以及以后的每次,如果比上一时间大于10分钟,那么修改上一次时间,否则不修改
if ( ( currenttime - lastCreateTime) > INTERVAL )
{
lastCreateTime = currenttime;
return String.valueOf(lastCreateTime);
}
return String.valueOf(lastCreateTime);
}
}
本文介绍了一种在Java中生成唯一秘钥的方法,通过记录上次生成时间来确保每10分钟内生成相同的秘钥,超过10分钟后则生成新的秘钥。

被折叠的 条评论
为什么被折叠?



