`

java生成随机token

    博客分类:
  • java
 
阅读更多

package com.cn;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.UUID;

import sun.misc.BASE64Encoder;

/**
 *
 * 生成随机token
 *
 * @author gaochunhu
 * @Date: 2017-11-21 上午09:00:16
 * @version 3.5
 */
public class TokenProccessor
{
   
    /*
     * 单例设计模式(保证类的对象在内存中只有一个)1、把类的构造函数私有2、自己创建一个类的对象3、对外提供一个公共的方法,返回类的对象
     */
    private TokenProccessor()
    {
    }
   
    private static final TokenProccessor instance = new TokenProccessor();
   
    /**
     * 返回类的对象
     *
     * @return
     */
    public static TokenProccessor getInstance()
    {
        return instance;
    }
   
    /**
     * 生成Token Token:Nv6RRuGEVvmGjB+jimI/gw==
     *
     * @return
     */
    public String makeToken()
    { // checkException
        // 7346734837483 834u938493493849384 43434384
        String token = UUID.randomUUID().toString().replaceAll("-", "") + "";
        // 数据指纹 128位长 16个字节 md5
        try
        {
            MessageDigest md = MessageDigest.getInstance("md5");
            byte md5[] = md.digest(token.getBytes());
            // base64编码--任意二进制编码明文字符 adfsdfsdfsf
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(md5);
        }
        catch (NoSuchAlgorithmException e)
        {
            throw new RuntimeException(e);
        }
    }
}

分享到:
评论

相关推荐

    Token生成规则以及工具相关代码

    文章链接中的"Token生成规则以及工具"可能涉及如何使用特定编程语言(如Java或Python)实现Token的生成和验证,以及如何配置和使用相关的库或框架。例如,对于JWT,可能使用了如`jjwt`(Java JWT)这样的库来创建和...

    创建token令牌的算法示例

    1. **生成随机字符串**:使用如`SecureRandom`或`java.util.UUID`类生成一个唯一且不可预测的字符串。这可以作为`Token`的基础部分,确保每个`Token`都是唯一的。 2. **添加额外信息**:为了增加安全性,我们可以在...

    Token验证表单重复提交

    Token是一种安全机制,它通常是一段随机生成的字符串,用于标识用户的一次请求。在表单提交时,服务器会生成一个唯一的Token并将其存储到用户的会话(session)中,同时将Token返回给客户端,一般放在隐藏字段中。当...

    Token认证签名加密

    1. **Token**: Token可以被视为一种轻量级的身份证明,它包含了一段由服务端生成的随机字符串,用于在客户端和服务端之间交换信息。通常,Token包含了用户的标识(如用户ID)以及一些元数据,如过期时间。JWT(JSON ...

    JFinal+token基础demo

    Token是一个由服务器生成的随机字符串,它代表了用户的一次会话或者特定权限。在用户成功登录后,服务器会返回一个Token,客户端(通常是浏览器或移动应用)需要在后续的请求中携带这个Token,以证明请求的合法性。 ...

    微信企业号 开发平台token验证

    2. **接收请求**:当微信服务器向你的服务器发送请求时,请求中会包含你们预先设置的Token、一个随机的Nonce(随机数)和时间戳(Timestamp)。 3. **校验请求**:你的服务器收到请求后,需要按照一定的算法(通常...

    APP 登录token值

    - 通常,APP登录后,服务器会根据用户的账号信息生成一个唯一的、随机的token。这个过程可能涉及到哈希函数(如SHA-256)和加密算法,确保token的不可预测性和安全性。 - Token通常包含用户ID、过期时间戳等信息,...

    TokenGenerator:Java令牌生成器

    生成的令牌必须足够随机以防止预测,同时应有适当的过期策略,避免长期有效的令牌被滥用。在分布式系统中,可能还需要考虑令牌的刷新和撤销机制。 6. **存储与传输**: 令牌应当存储在安全的地方,如服务器的内存...

    Struts1.x实现防止提交的Token使用示例

    Token机制是一种有效的防护手段,它通过在表单中添加一个唯一的、随机的令牌值,并在服务器端验证这个令牌来确保请求的合法性。以下是对Struts1.x中使用Token防止提交的详细说明: 1. **理解Token机制**: Token...

    微信小程序获取用户信息和自定义token两种方法

    - 后端生成自定义token,可以包含OpenID、过期时间、随机字符串等信息,然后使用session_key对token进行加密。 - 将加密后的token返回给前端,前端存储在本地。 - 当需要向后台请求数据时,前端在请求头中添加此...

    struts2_token控制刷新重复提交

    当用户首次提交表单时,服务器会生成一个随机的令牌,并将其发送给客户端。客户端在提交表单时会携带这个令牌,服务器端验证令牌的正确性,如果验证通过则处理请求,否则拒绝。 **Struts2中的Token插件** 在Struts2...

    高并发场景下如何保证接口幂等性?综合比较了防重令牌(token)、随机字符串(noncestr)、幂等表、防重表、数据库唯一索引

    本文将深入探讨几种常见的幂等性实现策略,包括防重令牌(Token)、随机字符串(NonceStr)、幂等表、防重表、数据库唯一索引以及乐观锁。 1. 防重令牌(Token): 防重令牌机制是服务端生成一个唯一的Token,将其...

    struts令牌token实例

    令牌(Token)是一种验证机制,它通常是一个唯一且随机生成的字符串,与用户的会话绑定。当用户发起一个请求时,服务器会生成一个令牌并将其添加到表单中或者存储在服务器端。当用户提交表单时,服务器会检查这个...

    解决在struts 中可以通过token 来重复提交的问题

    为了解决这一问题,一种常见的做法是在客户端(通常是浏览器)和服务器端之间传递一个随机生成的唯一标识符(Token)。当用户首次提交表单时,服务器会验证该Token是否有效。如果Token有效,则允许提交,并同时作废...

    java上传图片到七牛云 七牛云 七牛 图片上传 demo JS java

    如果希望随机生成文件名,可以使用Java或JavaScript的随机字符串生成函数,例如在Java中: ```java String randomFileName = UUID.randomUUID().toString().replace("-", ""); ``` 在JavaScript中,可以使用`...

    struts token的例包

    Token机制的核心思想是在用户发起敏感操作时,服务器生成一个随机的、一次性使用的Token,并将其存储在服务器端和客户端(通常为HTTP Session)。当用户提交表单时,需要将这个Token一同发送回服务器。服务器接收到...

    struts1.2之token解决重复提交

    这个Token可以是随机生成的一串字符串,或者基于时间戳等信息生成的唯一值。 2. 将Token传递给客户端 将生成的Token附加到JSP页面的隐藏字段中,当用户提交表单时,Token会随同其他表单数据一起发送回服务器。 3. ...

    NFT艺术品随机生成器源码

    本项目是一个基于Java的NFT艺术品随机生成器,能够自动生成包含不同元素的动物主题NFT图片。 首先,我们需要理解项目的核心——随机生成算法。在这个项目中,算法用于组合不同的图像元素来创建独一无二的NFT艺术品...

    wxqyh:微信企业号实例代码java版 jssdk,access_token,ticket,oauth媒体文件的上传下载,通讯录管理,菜单管理

    在Java项目中,通常会有一个服务端接口,用于获取JSSDK所需的配置信息,如nonceStr(随机字符串)、timestamp(时间戳)和signature(签名),这些信息是安全调用JSSDK的前提。 access_token是微信API的全局唯一...

    浅谈java获取UUID与UUID的校验

    在 Java 中,我们可以使用 UUID.randomUUID() 方法来生成一个随机的 UUID。同时,我们也可以使用 UUID.nameUUIDFromBytes() 方法来生成一个基于名称的 UUID。 关于 UUID 的校验,Java 提供了多种方法来实现。我们...

Global site tag (gtag.js) - Google Analytics