我需要验证电子邮件.我想通过生成一个唯一的字符串并为其创建链接来让用户在邮件中单击它.
我不知道如何使用Java生成它.
还有md5
,sha1
等功能php
为使用如电子邮件的任意唯一值的字符串.是否提供相同的功能jsp
?
一种方法加密工具,如MD5/SHA /等并不能必然产生独特的字符串.两个不同的字符串可以生成相同的散列.毕竟这也是单向加密背后的整个想法:没有(可靠的)方法来找出原始字符串是什么.
java.util.UUID
如果需要,可以更好地与数据库PK或UK结合使用,以便在出现(意外)约束违规时生成新的数据库.
这是一个如何获得这样一个随机唯一键的基本示例:
String key = UUID.randomUUID().toString();
Run Code Online (Sandbox Code Playgroud)
也就是说,JSP是一种视图技术.您不应该在JSP文件中编写原始Java代码.仅在JSP中使用taglib和EL.使用taglib可以控制页面流,使用EL可以访问后端数据.将原始Java代码保存在Java类中,如servlet,过滤器,bean等.
在这种特定的情况下,只需要一个带有HTML表单的JSP,它提交给某个(控制器)servlet,然后java.util.UUID
使用JDBC API将其存储在数据库中,使用JavaMail API发送电子邮件,最后转发请求一些结果JSP.