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

WebDesigners, WebMasters & Developers • 3 min de lectura

Migrando Funciones de Hashing de PHP a JavaScript: Una Solución Práctica

18 mayo 2024
funcion hash php a javascript

En el mundo del desarrollo web, es común encontrarse con la necesidad de migrar funciones entre diferentes lenguajes de programación. Una de estas situaciones puede surgir cuando deseas convertir una función de hashing en PHP a JavaScript. En este post, exploraremos cómo lograr esto con una solución sencilla y eficiente.

El Problema

Supongamos que tienes la siguiente función en PHP que genera un hash para una contraseña:

base64_encode(pack('H*', md5($password)));

Esta función realiza tres operaciones principales:

  1. Genera un hash MD5 de la contraseña.
  2. Empaqueta el hash en formato hexadecimal.
  3. Codifica el resultado en base64.

El objetivo es replicar esta funcionalidad en JavaScript.

La Solución

Para lograr el mismo resultado en JavaScript, utilizaremos la biblioteca crypto-js para generar el hash MD5 y el objeto Buffer para la codificación base64. A continuación, te explico los pasos para implementar esta solución tanto en Node.js como en un entorno de navegador.

Implementación en Node.js

Primero, necesitas instalar la biblioteca crypto-js. Si estás usando Node.js, puedes hacerlo fácilmente con npm:

npm install crypto-js

Una vez instalada, puedes usar el siguiente código JavaScript para replicar la funcionalidad de PHP:

const CryptoJS = require('crypto-js');

function md5Base64(password) {
    // Generar el hash MD5 del password
    const hash = CryptoJS.MD5(password);
    
    // Convertir el hash a una cadena hexadecimal
    const hexHash = hash.toString(CryptoJS.enc.Hex);
    
    // Empaquetar la cadena hexadecimal en un buffer
    const buffer = Buffer.from(hexHash, 'hex');
    
    // Codificar el buffer en base64
    const base64Hash = buffer.toString('base64');
    
    return base64Hash;
}

// Ejemplo de uso
const password = 'tuPassword';
const encodedHash = md5Base64(password);
console.log(encodedHash);

Implementación en el Navegador

Si estás trabajando en un entorno del navegador, puedes usar una versión sin dependencias externas. Aquí tienes un ejemplo de cómo hacerlo:

<!DOCTYPE html>
<html>
<head>
    <title>MD5 Base64 Hash</title>
    <script src=»https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js»></script>
</head>
<body>
    <script>
        function md5Base64(password) {
            // Generar el hash MD5 del password
            const hash = CryptoJS.MD5(password);
            // Convertir el hash a una cadena hexadecimal
            const hexHash = hash.toString(CryptoJS.enc.Hex);
            // Convertir la cadena hexadecimal a un buffer
            const hexBytes = CryptoJS.enc.Hex.parse(hexHash);
            // Codificar el buffer en base64
            const base64Hash = CryptoJS.enc.Base64.stringify(hexBytes);
            return base64Hash;
        }
        // Ejemplo de uso
        const password = ‘tuPassword’;
        const encodedHash = md5Base64(password);
        console.log(encodedHash);
    </script>
</body>
</html>

Este código carga la biblioteca crypto-js desde un CDN y realiza el mismo proceso que el ejemplo anterior, pero sin usar Node.js, lo que lo hace adecuado para su uso en navegadores web.

Conclusión

Migrar funciones entre lenguajes de programación puede parecer una tarea desalentadora, pero con las herramientas y bibliotecas adecuadas, es totalmente factible. En este post, hemos visto cómo convertir una función de hashing de PHP a JavaScript utilizando crypto-js y Buffer. Esta solución te permitirá mantener la integridad y seguridad de tus contraseñas al migrar entre estos dos lenguajes populares.

¡Espero que encuentres útil esta guía y que te ayude en tus proyectos de desarrollo web!

Comentarios
Compartir este artículo:

Navegación de entradas

Artículo anterior ← ¿Qué es CKAN (Comprehensive Knowledge Archive Network)?
Siguiente artículo Entrenadores de Inteligencia Artificial: ¿Quiénes Son y Cuáles Son Sus Habilidades? →

Artículos Relacionados

marindelafuente.com.ar
WebDesigners, WebMasters & Developers

9 terminos relacionados con google y SEO

28 agosto 2012 • 4 min de lectura
marindelafuente.com.ar
WebDesigners, WebMasters & Developers

Fatal error: Call to undefined function: ldap_connect() – XAMPP

25 noviembre 2015 • 1 min de lectura
SEO onpage
WebDesigners, WebMasters & Developers

SEO OnPage | Estrategias Avanzadas para WordPress

17 julio 2024 • 8 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.