解密后读取两​​个变量值

reading two variable values after decrypting

我正在研究 "Forgot Password"。我正在尝试使用电子邮件 + current_time 创建重置令牌。电子邮件是用户登录,而代码将检查时间是否 >= 5 分钟,然后此 link 将不起作用。这是我的代码:

// 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);

令牌将被发送,例如 http://domainname.com/ForgotPassword?resetToken=adj23498ljj238809802340823

问题:
当用户单击它时,我得到了请求参数并显然解密了这个参数,但是我怎样才能在一个字符串中获取电子邮件 + 时间作为另一个字符串

请指教

如果您的问题只是解析解码后的字符串以获得某种参数映射,我建议您阅读 Parse a URI String into Name-Value Collection

希望对您有所帮助。

编辑:

假设您有来自之前 link 的 splitQuery(URL 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");
    }

我创建了一个格式正确的 URL 以遵守 URL 语法。 稍微调整一下,您应该能够为字符串实现 splitQuery。希望你能做到。