双token实现token超时策略示例

用于restful的app应用无状态无sesion登录示例,需要的朋友可以参考下

复制代码 代码如下:

import com.google.common.base.Charsets;

import com.google.common.hash.Hashing;

import java.util.Date;

import org.apache.commons.lang.time.FastDateFormat;/**

 *

 * @author Charles

 */

public class TokenUtils {

    private static final String privateKey = "fdas34ljfr好sja@#8$%dfkl;js&4*daklfjsdl;akfjsa342";

    public static String getToken(String password, String date) {

        return Hashing.md5().newHasher().

                putString(password, Charsets.UTF_8).

                putString(privateKey, Charsets.UTF_8).

                putString(date, Charsets.UTF_8).hash().toString();

    }

   

    public static String getToken(String password, Date date) {

        return Hashing.md5().newHasher().

                putString(password, Charsets.UTF_8).

                putString(privateKey, Charsets.UTF_8).

                putString(getDate(date), Charsets.UTF_8).hash().toString();

    }

   

    public static String getToken(String password) {

        return Hashing.md5().newHasher().

                putString(password, Charsets.UTF_8).

                putString(privateKey, Charsets.UTF_8).putString(getDate(), Charsets.UTF_8).hash().toString();

    }

    public static boolean validToken(String token, String password) {

        String confirm = getToken(password);

        if (confirm.equals(token)) {

            return true;

        } else {

            return false;

        }

    }

    public static String getDate() {

        Date date = new Date(System.currentTimeMillis());

        return FastDateFormat.getInstance("yyyyMMddHH").format(date);

    }

    public static String getDate(Date Now) {

        return FastDateFormat.getInstance("yyyyMMddHH").format(Now);

    }

     public static String getNextHour(Date Now) {

        Date date = new Date(Now.getTime()+60*60*1000);

        return FastDateFormat.getInstance("yyyyMMddHH").format(date);

    }

}

上一篇:Gradle使用Maven仓库的方法下一篇:Java实现推箱子游戏 热门搜索

token 

csrf-token 

csrf token 

丢失Token 

Token验证 

相关文章

双token实现token超时策略示例

2021-11-07阅读(8928)评论(0)推荐()

用于restful的app应用无状态无sesion登录示例,需要的朋友可以参考下

token 机制和实现方式

2021-11-15阅读(4632)评论(0)推荐()

这篇文章主要介绍了token 机制和实现方式的相关资料,帮助大家更好的理解和学习token,感兴趣的朋友可以了解下

详解uniapp无痛刷新token方法

2021-11-10阅读(7365)评论(0)推荐()

为了给用户一个流畅的体验,token过期后需要重新请求新的token替换过期的token。本文将详细介绍uniapp无痛刷新token方法

C# 如何实现Token

2021-10-06阅读(3896)评论(0)推荐()

这篇文章主要介绍了C# 如何实现Token,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下

python 产生token及token验证的方法

2021-10-13阅读(3579)评论(0)推荐()

今天小编就为大家分享一篇python 产生token及token验证的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

JAVA中的Token 基于Token的身份验证实例

2021-09-18阅读(8243)评论(0)推荐()

这篇文章主要介绍了JAVA中的Token 基于Token的身份验证实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

JWT Token实现方法及步骤详解

2021-10-12阅读(4330)评论(0)推荐()

这篇文章主要介绍了JWT Token实现方法及步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

取消

有人回复邮件通知

提交评论

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...