Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 如何使用SHA-256加密LDAP密码_Java_Ldap_Sha - Fatal编程技术网

Java 如何使用SHA-256加密LDAP密码

Java 如何使用SHA-256加密LDAP密码,java,ldap,sha,Java,Ldap,Sha,我正在开发java web应用程序,需要验证用户的密码 使用LDAP服务器我对此不太了解。我从应用服务器到LDAP的请求是 已使用证书文件加密,但我仍需要使用SHA-256加密密码 我该怎么办 我的Java代码是: Hashtable<String,String> env = new Hashtable<String,String>(); env.put(Context.INITIAL_CONTEXT_FACTORY,"co

我正在开发java web应用程序,需要验证用户的密码

使用LDAP服务器我对此不太了解。我从应用服务器到LDAP的请求是

已使用证书文件加密,但我仍需要使用SHA-256加密密码

我该怎么办

我的Java代码是:

            Hashtable<String,String> env = new Hashtable<String,String>();
            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL,"ldaps://" + ldap_url);
            env.put(Context.SECURITY_AUTHENTICATION, auth_method);
            env.put(Context.SECURITY_PRINCIPAL, "abcd123"+"@"+ldap_domain);
            env.put(Context.SECURITY_CREDENTIALS, "mypassword");
            env.put(Context.SECURITY_PROTOCOL,"ssl");

            System.setProperty("javax.net.ssl.keyStore", keystorePath);
            System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
            ctx = new InitialDirContext(env);
Hashtable env=new Hashtable();
put(Context.INITIAL_Context_工厂,“com.sun.jndi.ldap.LdapCtxFactory”);
环境put(Context.PROVIDER\u URL,“ldaps://”+ldap\u URL);
环境put(Context.SECURITY\u身份验证、auth\u方法);
环境put(Context.SECURITY_主体,“abcd123”+“@”+ldap_域);
环境put(Context.SECURITY_凭证,“mypassword”);
环境put(上下文安全协议,“ssl”);
setProperty(“javax.net.ssl.keyStore”,keystorePath);
setProperty(“javax.net.ssl.keystrepassword”、“changeit”);
ctx=新的初始目录上下文(env);

我得到了这个,但无法使用SHA-256。一般来说,我们希望您的LDAP服务器会加密密码。您只需要通过SSL以文本形式发送itn。(或使用StartTLS)

如果您使用的是SSL,那么您将被加密。否则,您将需要使用类似的东西,这需要客户机和服务器上的支持


-jim

通常,我们希望您的LDAP服务器会加密密码。您只需要通过SSL以文本形式发送itn。(或使用StartTLS)是的,但我说的是对网络上流动的信息进行加密,我能做到吗??与此链接一样,MD5 SHA-256不是加密算法。您不需要自己对LDAP密码进行任何预处理。LDAP服务器将执行任何必要的操作。您只需要提供一个安全的传输。不清楚你在问什么。