Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java使用相同的密钥加密解密密码md5_Java_Encryption_Md5 - Fatal编程技术网

java使用相同的密钥加密解密密码md5

java使用相同的密钥加密解密密码md5,java,encryption,md5,Java,Encryption,Md5,我用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

我用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来测试web服务:

 http://localhost:8080/projectTest/service/getList/admin/1235545/test@yahoo.com
我有一个在服务器端固定的登录名和密码(“admin”,“12345”),并将与将在web服务url中发送的参数进行比较

我的目标是了解如何确保密码参数的发送安全

我希望密码将使用md5加密,然后在getList方法中解密此密码

我认为最好的办法是使用同一把钥匙


在客户端和服务器端加密和解密密码。

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

这是很好的安全性,但您的方法可能会有所改进

您可以对输入的密码进行散列,并将此散列与现有密码散列进行比较,而不是对现有密码进行“解密”。如果它们相同,则密码相同,您可以授权登录尝试

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

如果您仍然需要解密的密码,您可以查看关于加密和解密的说明。
MD5
是一种单向散列。这意味着一旦散列,您*就无法恢复原始值

这是很好的安全性,但您的方法可能会有所改进

您可以对输入的密码进行散列,并将此散列与现有密码散列进行比较,而不是对现有密码进行“解密”。如果它们相同,则密码相同,您可以授权登录尝试

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

如果仍然需要解密的密码,可以查看关于加密和解密的信息

md5是一个哈希函数。它不是加密,您不能“解密”md5哈希。这是一个绞肉机:牛进去,汉堡包出来。你不能拿着那个汉堡重新组装原来的牛。登录应该是一个POST请求+你通常不加密客户端/在传输它时,因为它已经加密了,因为你只使用https。@MarcB我渴望在五百年后证明你错了,当我们有技术将牛从汉堡中重新组装出来。md5是一个散列函数。它不是加密,您不能“解密”md5哈希。这是一个绞肉机:牛进去,汉堡包出来。你不能拿着那个汉堡重新组装原来的牛。登录应该是一个POST请求+你通常不加密客户端/在传输它时,因为它已经加密了,因为你只使用https。@MarcB我渴望在五百年后证明你错了,那时我们有技术将牛从汉堡中重新组装出来。