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

Prompt Injection Judicial
Seguridad informática

Prompt Injection Judicial: Análisis Técnico del Ataque que Sacudió a la Justicia de Brasil

14 mayo 2026 • 7 min de lectura
scanning
Seguridad informática

ZMap: una herramienta que puede escanear todo Internet en menos de una hora

11 septiembre 2013 • 2 min de lectura
Device Bound Session Credentials
Seguridad informática

Device Bound Session Credentials. Las cookies robadas ya no serán de utilidad para un hacker

3 abril 2024 • 4 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

  • JEV AI: El Modelo ‘Sistema 1’ | 193x Más Rápido que los LLM | Análisis Completo
  • Cómo buscar archivos públicos de Google Drive con Google Dorks y proteger tu información
  • Cómo vender productos digitales con Landing Pages, Tiendanube y Meta Ads
  • Métricas de Meta Ads: guía completa para entender CPM, CTR, CPC, CPA, ROAS y optimizar campañas
  • Framework 3Qs en Meta Ads: Diagnóstico de Campañas y Optimización
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.