-1
我在Java Web應用程序的工作,我需要使用LDAP服務器我是沒有太多的瞭解與應用服務器this.My請求LDAP是驗證用戶的密碼如何使用加密的LDAP口令SHA-256
已用證書文件加密,但我仍然需要使用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);
我得到這個this但無法與SHA-256
通常,我們希望您的LDAP服務器將加密密碼。你只需要通過SSL發送文本。 (或使用StartTLS) – jwilleke
是的,但我在談論網絡上流動的信息加密,我可以嗎?像這個鏈接正在使用MD5 http://docs.oracle.com/javase/jndi/tutorial/ldap/security/digest.html –
SHA-256不是一種加密算法。您不需要自己對LDAP密碼進行任何預處理。 LDAP服務器將執行任何必要的操作。所有你需要提供的是一個安全的運輸。不清楚你在問什麼。 – EJP