我正在使用JSP和Servlet构建一个简单的应用程序,如何在提交之前加密表单数据?这是我的JSP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Enter the text</h1>
<%
String txt=" ";
txt = (String) request.getAttribute("lower");
%>
<form action="ser1">
<textarea name="txt" rows="3" cols="20" placeholder="Enter here"></textarea>
<textarea rows="3" cols="20" > <%=txt%></textarea>
<input type="submit">
</form>
</body>
</html>
这里是Servlet中的processRequest
方法:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String txt = request.getParameter("txt");
request.setAttribute("lower", txt.toLowerCase());
this.getServletContext().getRequestDispatcher("/1.jsp").forward(request, response);
}
通过网络加密
如果您通过TLS使用安全的https
web连接,则数据已通过网络加密。这可以通过Web服务器配置设置来实现,而无需更改Web应用程序编码。
网络浏览器和网络服务器已经采用了最新的加密技术。这包括基于Java的服务器,例如Apache Tomcat&TomEE、Eclipse Jetty、Glassfish&Payara,WildFly&JBoss、OpenLiberty&WebSphere等等。
你没有必要重新发明那个轮子。
加密存储
如果希望数据以加密格式存储,则应在由服务器软件支持的上执行加密,而不是在web客户端上执行加密。
通过https/TLS将数据从客户端获取到服务器,然后在后端加密。