Saltar al contenido
José Marin de la Fuente
José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
José Marin de la Fuente José Marin de la Fuente
  • Inicio
  • jmdf
    • Consultor Tecnológico
    • En los medios
    • CodePen
    • ebooks
  • Secciones
    • Blog Personal
    • Drones
    • Marketing Digital
    • Mundo 360
    • Redes Sociales
    • Seguridad informática
    • SEO
    • Tecnología y Mundo Digital
    • WebDesigners, WebMasters & Developers
  • My Tools
    • Calendar Link Generator Online
    • WhatsApp Link Generator Online
    • HTML Obfuscator Online
    • JavaScript Obfuscator Online
    • JWT Decoder
    • QR Online Generator
    • WordPress Password Hash Generator
    • String art generator
    • Editor HTML
    • Test – Tabla Schulte
    • Word Counter
    • Generador de mapeo de imagenes
    • Yellow Dots Decoder
  • Proyectos
    • Lectura Veloz | Chrome Extension
    • FocusTasks | Chrome Extension
  • hangar18
  • Contacto
Modo Visual
Redes Sociales

Buscar en el blog

Seguridad informática • 2 min de lectura

Agregar usuarios con contraseña con hash MD5 (hashed MD5 password) en OpenLDAP.

5 julio 2010

En este post voy a explicar como agregar usuarios con contraseña con hash MD5 (hashed MD5 password) en OpenLDAP.

La idea es “decirle” a nuestro OpenLDAP el tipo de HASH (ejemplo: {MD5}) antes de donde va la contraseña, esta contraseña será el resultado de cifrar como BASE64 el BINARIO del hash MD5. osea… no es que vamos a cifrar nuestra contraseña en MD5 y después directamente vamos a cifrar ese resultado en BASE64. No vamos a cifrar en BASE64 directamente los hashes que nos den como resultado las funciones de PHP: md5() o sha(). ES IMPORTANTE pasar el primer HASH MD5 a binario con la función pack(«H*», $hash_result), tanto md5() y sha() dan como resultado cadenas de textos hexadecimales las cuales serán transformadas en binarios y recien convertidas en BASE64.

base64_encode(pack(‘H*’,md5($newuser_plaintext_password)));

A continuación paso el código para hacer éste tipo especial de cifrado para usarlo con OpenLDAP, la salida de éste codigo sería algo similar a esto: {md5}bdwy04RS4xMDGVi1n/H36Q==

Algunas advertencias finales a tener en cuenta:
– todo esto no funciona con Active Directory donde las contraseñas son solo creadas usando conecciones SSL y los hashes es muy probable que trabajen de manera distinta.

$ds = ldap_connect($serverAddress);
if ($ds) {
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

$r = ldap_bind($ds, $managerDN, $managerPassword);
$ldaprecord[‘cn’] = $newuser_username;
$ldaprecord[‘givenName’] = $newuser_firstname;
$ldaprecord[‘sn’] = $newuser_surname;

$ldaprecord[‘objectclass’][0] = «person»;
$ldaprecord[‘objectclass’][1] = «organizationalPerson»;
$ldaprecord[‘objectclass’][2] = «inetOrgPerson»;
$ldaprecord[‘mail’] = $newuser_email_address;
$ldaprecord[‘telephoneNumber’] = $newuser_phone_number;

// aqui viene el truquito:
$ldaprecord[‘userPassword’] = ‘{MD5}’ . base64_encode(pack(‘H*’,$newuser_md5hashed_password));

// Este seria el truco si tienen la contraseña en texto plano
// entonces se pasaría a MD5, luego a binario y recien Base64:
// $ldaprecord[‘userPassword’] = ‘{MD5}’ .
// base64_encode(pack(‘H*’,md5($newuser_plaintext_password)));

$r = ldap_add($ds, $base_user_dn, $ldaprecord);
} else { die «cannot connect to LDAP server at $serverAddress.»; }

Credits:
José Marin de la Fuente
www.marindelafuente.com.ar

Comentarios
Etiquetas: base64 hash md5 openldap passwords
Compartir este artículo:

Navegación de entradas

Artículo anterior ← Monitoreo de los Negocios de Alta Rentabilidad (HYIPS)
Siguiente artículo Configurar Google Apps con 000webhost →

Artículos Relacionados

Deep Web
Seguridad informática

¿Qué es la Deep Web y cómo funciona?

5 enero 2023 • 4 min de lectura
borrar caché dns
Seguridad informática

Cómo borrar la caché DNS en Windows, Mac, Linux y Android

3 agosto 2026 • 6 min de lectura
marindelafuente.com.ar
Seguridad informática

Todo lo que necesitas para ser un verdadero detective informático

9 abril 2013 • 5 min de lectura
advertise width me
Baitdom Domótica para el hogar en Tucumán
Google Street View Trusted Photographer | Tucumán
grupo de desarrolladores tucumanos en Facebook

Entradas recientes

  • AGI Bar: cerveza y tokens gratis de IA — ¿funcionaría en Argentina?
  • Cómo medir visibilidad en IA sin clics: métricas y herramientas 2026
  • SEO vs GEO vs AEO vs AIO vs SXO: la guía definitiva 2026
  • Watermark de Claude: cómo Anthropic marca los textos generados por IA con SynthID-Text
  • Roadmap para aprender desarrollo de agentes de IA: qué aprender y en qué orden
advertise width me
[ DEVELOPER TOOLBOX ]

Mis Herramientas & Utilidades

Colección de utilidades web interactivas para desarrolladores y profesionales.

JWT Decoder POPULAR

Decodifica y verifica tokens JWT

JSON Formatter

Embellece y valida JSON

Base64 Encoder

Codifica y decodifica Base64

Hash Generator

MD5, SHA-256 y más

Regex Tester

Prueba expresiones regulares

CSS Gradients NUEVO

Generador de degradados CSS

© 2026 José Marin de la Fuente. Todos los derechos reservados.