【问题标题】:java encrypt decrypt password md5 using same keyjava使用相同的密钥加密解密密码md5
【发布时间】: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


【解决方案1】:

如 cmets 所述,MD5 是一种单向散列。这意味着一旦散列,您*无法恢复原始值。

这是很好的安全性,但也许您的方法可以改进。

您可以对已输入的密码进行哈希处理,并将此哈希值与现有密码哈希值进行比较,而不是“解密”现有密码。如果相同,则密码相同,即可授权登录尝试。

  • MD5“可以”使用MD5哈希字典解密,但对于非普通密码仍然很难。

如果还需要解密后的密码,可以看this related question加解密的相关知识

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 2015-06-12
    • 1970-01-01
    • 2011-05-09
    • 2019-11-13
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    相关资源
    最近更新 更多