【发布时间】:2016-10-15 17:48:26
【问题描述】:
我使用 java 语言的 jersey web 服务。
我有这个代码:
@GET
@Path("/getList/{login}/{password}/{email}")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public String getList(@PathParam("login") String login,@PathParam("password") String password,@PathParam("email") String email){
if(login!=null && !"".equals(login)&& password!=null && !"".equals(password))
{
if(login.equals("admin")&& password.equals("12345"))
{
List list= findDataList(login,password,email);
if(list!=null && list.size()>0)
{
JSONArray arrayObj=JSONArray.fromObject(list);
return arrayObj.toString();
}
else
{
return "No Data ";
}
}
else
{
return "access denied ";
}
}
else
{
return "access denied ";
}
}
我使用这个 url 来测试网络服务:
http://localhost:8080/projectTest/service/getList/admin/1235545/test@yahoo.com
我有一个在服务器端固定的登录名和密码 ("admin" ,"12345" ) 并将与将在 Web 服务 url 中发送的参数进行比较 p>
我的目标是知道如何保护 密码 参数的发送。
我希望密码将使用 md5 加密,然后在 getList 方法中解密此密码。
我认为最好的方法是使用相同的密钥
在客户端和服务器端对密码进行加密和解密。
【问题讨论】:
-
md5 是一个哈希函数。它是 NOT 加密,您可以 NOT “解密” md5 哈希。这是一台绞肉机:牛进去,汉堡出来。你不能拿着那个汉堡重新组装原来的牛。
-
登录应该是一个 POST 请求 + 你通常不加密客户端/传输它,因为它已经加密,因为你只使用 https。
-
@MarcB 我很想在五百年后证明你是错的,因为我们拥有从汉堡包中重新组装一头牛的技术。
标签: java encryption md5