package com.hexie.eletter.util;
字符工具类 public class StringUtils {
/**
* 字符串工具集合
*/
private static final String PASSWORD_CRYPT_KEY = "cindaportal";
private final static String DES = "DES";
/**
* 加密方法
* @param src 数据源
* @param key 密钥,长度必须是8的倍数
* @return 返回加密后的数据
* @throws Exception
*/
public static byte[] encrypt(byte[] src, byte[] key)throws Exception {
略
}
/**
* 解密方法
* @param src 数据源
* @param key 密钥,长度必须是8的倍数
* @return 返回解密后的原始数据
* @throws Exception
*/
public static byte[] decrypt(byte[] src, byte[] key)throws Exception {
略
}
public static void main(String[] args) {
String guid = "测试liupinzhe@hotmail";
System.out.println("加密前="+guid);
String data = encrypt(guid);
System.out.println("加密后的数据data="+data);
guid = decrypt(data);
System.out.println("解密后="+guid);
}
}加密前=测试liupinzhe@hotmail
加密后的数据data=83AF5B1694DD3DE76F4EBE36DBF170C58D9CB18EBF27606F
解密后=测试liupinzhe@hotmail--------------------------------------------
控制层代码 用Servlet实现
public ActionForward modify(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException
{
int id = Integer.parseInt(request.getParameter("id"));//用户注册邮箱时的ID post()方法
//String gid = request.getParameter("gid");//这里我想通过系统开给用户的EMAIL内容里一个地址连接, 让用户一点这个地址,就可以直接点到用户修改信息的页面,但在这个modify方法里,如何得这个gid, 用doGet()方法
××××××××××××××××××××××××××××××××
String gid = request.getParameter("gid");//
int id = Integer.parseInt(request.getParameter("id"));//
××××××××××××××××××××××××××××××这两行的应该做一个逻辑判断,高手指点一下
String email = request.getParameter("email");
String guid = request.getParameter("guid");
String[] hobbies = request.getParameterValues("hobbies");
SystemUser user = new SystemUser();
user.setId(id);
user.setEmail(email);
user.setGuid(guid);
String hobbiesString = "";
if (hobbies != null)
{
for (int i = 0; i < hobbies.length; i++)
{
if (i > 0)
{
hobbiesString += ",";
} hobbiesString += hobbies[i];
}
}
字符工具类 public class StringUtils {
/**
* 字符串工具集合
*/
private static final String PASSWORD_CRYPT_KEY = "cindaportal";
private final static String DES = "DES";
/**
* 加密方法
* @param src 数据源
* @param key 密钥,长度必须是8的倍数
* @return 返回加密后的数据
* @throws Exception
*/
public static byte[] encrypt(byte[] src, byte[] key)throws Exception {
略
}
/**
* 解密方法
* @param src 数据源
* @param key 密钥,长度必须是8的倍数
* @return 返回解密后的原始数据
* @throws Exception
*/
public static byte[] decrypt(byte[] src, byte[] key)throws Exception {
略
}
public static void main(String[] args) {
String guid = "测试liupinzhe@hotmail";
System.out.println("加密前="+guid);
String data = encrypt(guid);
System.out.println("加密后的数据data="+data);
guid = decrypt(data);
System.out.println("解密后="+guid);
}
}加密前=测试liupinzhe@hotmail
加密后的数据data=83AF5B1694DD3DE76F4EBE36DBF170C58D9CB18EBF27606F
解密后=测试liupinzhe@hotmail--------------------------------------------
控制层代码 用Servlet实现
public ActionForward modify(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException
{
int id = Integer.parseInt(request.getParameter("id"));//用户注册邮箱时的ID post()方法
//String gid = request.getParameter("gid");//这里我想通过系统开给用户的EMAIL内容里一个地址连接, 让用户一点这个地址,就可以直接点到用户修改信息的页面,但在这个modify方法里,如何得这个gid, 用doGet()方法
××××××××××××××××××××××××××××××××
String gid = request.getParameter("gid");//
int id = Integer.parseInt(request.getParameter("id"));//
××××××××××××××××××××××××××××××这两行的应该做一个逻辑判断,高手指点一下
String email = request.getParameter("email");
String guid = request.getParameter("guid");
String[] hobbies = request.getParameterValues("hobbies");
SystemUser user = new SystemUser();
user.setId(id);
user.setEmail(email);
user.setGuid(guid);
String hobbiesString = "";
if (hobbies != null)
{
for (int i = 0; i < hobbies.length; i++)
{
if (i > 0)
{
hobbiesString += ",";
} hobbiesString += hobbies[i];
}
}
String gid = request.getParameter("gid");//
if(gid==null || gid.trim().length()==0){
// 返回错误,没有填写编号
// return false;
}
try{
id = Integer.parseInt(gid);}catch(Exception ex){
// 编号不是整数
// return false;
}