Announcement

Collapse
No announcement yet.

JNDI und LDAP userPassword auslesen und vergleichen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JNDI und LDAP userPassword auslesen und vergleichen

    Hallo,
    <br>
    ich möche ein später per Login eingegebenes Passwort (und Loginname) mit den Daten aus meinem LDAP-Server vergleichen.
    <br>
    Verbindung auf den LDAP und die Suche auf das Attribut "dc" in dem der Loginname hinterlegt ist funktioniert bereits.
    <br>
    Das Password ist im LDAP im "userPassword" Attribut hinterlegt und verschlüsselt gespeichert z.B.
    <br>
    <tt>{SHA}cRDtpNCeBiql5KOQsKVyrA0sAiA=</tt>
    <br>
    Nun suche ich einen Weg dieses Attribut mit dem eingegebenen Passwort zu vergleichen bzw. gleich danach zu suchen.
    <br>
    Die Suche mit:
    <br>
    <tt>String filter = "(userPassword={SHA}cRDtpNCeBiql5KOQsKVyrA0sAiA=)" ;</tt>
    <br>
    funktioniert ebenfalls.
    <br>
    Ich brauche jetzt nur noch den Schritt aus dem eingegebenen Password (String) den entsprechenden "SHA" oder "MD5" Schlüssel zu erstellen.
    <br>
    Die Such sollte dann im endeffekt mit:
    <br>
    <tt>String filter = "(userPassword=" + convertPasswort(passwortEingabe) + ")";</tt>
    <br>
    auch erfolgreich sein.
    <br>
    Hat jemand eine Idee wie das zu lösen ist ?
    <br>
    Gruß
    Benedikt

  • #2
    public class Encoder {
    public static String encrypt ( String plaintext, String algorithm ) {
    MessageDigest md = null;

    try {
    md = MessageDigest.getInstance( algorithm );
    md.update( plaintext.getBytes( "UTF-8" ) );
    } catch ( UnsupportedEncodingException e ) {
    return null;
    } catch ( NoSuchAlgorithmException nsae ) {
    return null;
    }

    return ( new BigInteger( 1, md.digest( ) ) ).toString( 16 );
    }

    Comment

    Working...
    X