Java 解密后读取两个变量值

Java 解密后读取两个变量值,java,servlets,encryption,jasypt,Java,Servlets,Encryption,Jasypt,我正在研究“忘记密码”。我正在尝试使用电子邮件+当前时间创建重置令牌。电子邮件是用户登录,而代码将检查时间>=5分钟,则此链接将不起作用。这是我的密码: // preparing token email + time Date now = new Date(); String prepareToken = "?email="+email+"&tokenTime="+now.getTime(); // encrypt prepareToken value Encry

我正在研究“忘记密码”。我正在尝试使用电子邮件+当前时间创建重置令牌。电子邮件是用户登录,而代码将检查时间>=5分钟,则此链接将不起作用。这是我的密码:

// preparing token email + time
Date now            = new Date();
String prepareToken = "?email="+email+"&tokenTime="+now.getTime();

// encrypt prepareToken value
Encryptor enc = new Encryptor();
resetToken    = enc.encrypt(resetToken);
令牌将被发送,例如

问题:
当用户点击它时,我得到了请求参数,并且很明显地解密了这个参数,但我如何才能在一个字符串中获得电子邮件,而在另一个字符串中获得时间


请告知

如果您的问题只是解析解码的字符串以获得某种参数映射,我建议您阅读

希望能有帮助

编辑:

假设您拥有上一个链接中的splitQuery(URL)方法,并且成功解码了令牌:

public String getEmailFromToken(String decodedToken) {
        // if you decoded your token it will looks like the prepareToken String
        String stubUrl = "http://localhost"+decodedToken;
        Map<String,String> map = splitQuery(new URL(stubUrl));
        return map.get("timeToken");
    }
public String getEmailFromToken(String decodedToken){
//如果您解码您的令牌,它将看起来像prepareToken字符串
字符串stubUrl=”http://localhost“+解码通话;
Map Map=splitQuery(新URL(stubUrl));
返回map.get(“timeToken”);
}
为了遵守URL语法,我创建了一个格式正确的URL。
只要稍加调整,您就应该能够实现字符串的splitQuery。我希望您能管理它。

我可以从这个URL获取特定的参数值吗?例如电子邮件
字符串prepareToken=“?email=“+email+”&tokenTime=“+now.getTime()
那么我可以在需要时单独获得tokenTime值吗?是的,如果您将queryString转换为Map,就像在另一个问题中的回答一样,您可以使用Map获得tokenTime。get(“tokenTime”)我假设您已经有一个控制器方法来接收令牌并解密它。是这样吗?我衷心感谢你