Skip to content

Jhoel777ar/quantum_ark_npm

Repository files navigation

Quantum ARK - Hashing Criptográfico Post-Cuántico

Librería de alto rendimiento resistente a ataques cuánticos construida en Rust con soporte WebAssembly.

Instalación

npm install quantum_ark
# o
pnpm add quantum_ark

Inicio Rápido (30 segundos)

JavaScript Vanilla

<!DOCTYPE html>
<html>
<head>
    <script type="module">
        import init, * as quantumArk from 'https://cdn.jsdelivr.net/npm/quantum_ark/pkg/quantum_ark.js';
        
        async function demo() {
            await init();
            const hash = quantumArk.quantum_ark_hash('contraseña', 'secreto');
            console.log('Hash:', hash);
        }
        
        demo();
    </script>
</head>
<body>
    <h1>Demo Quantum ARK</h1>
</body>
</html>

React (Vite)

npm create vite@latest mi-app -- --template react
cd mi-app
npm install quantum_ark
import { useEffect, useState } from 'react';
import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

export default function App() {
  const [hash, setHash] = useState('');
  const [cargado, setCargado] = useState(false);

  useEffect(() => {
    init().then(() => setCargado(true));
  }, []);

  const generarHash = () => {
    setHash(quantumArk.quantum_ark_hash('contraseña', 'secreto'));
  };

  return cargado ? (
    <div>
      <button onClick={generarHash}>Generar Hash</button>
      {hash && <p>{hash.substring(0, 50)}...</p>}
    </div>
  ) : <div>Cargando...</div>;
}

Next.js

npx create-next-app@latest mi-app
cd mi-app
npm install quantum_ark
'use client';
import { useEffect, useState } from 'react';
import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

export default function Home() {
  const [cargado, setCargado] = useState(false);

  useEffect(() => {
    init().then(() => setCargado(true));
  }, []);

  return cargado ? (
    <button onClick={() => console.log(quantumArk.quantum_ark_hash('pwd', 'key'))}>
      Hash
    </button>
  ) : <div>Cargando...</div>;
}

Express.js

npm install express quantum_ark
import express from 'express';
import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

const app = express();
let listo = false;

init().then(() => { listo = true; });

app.post('/hash', (req, res) => {
  if (!listo) return res.status(503).end();
  const hash = quantumArk.quantum_ark_hash(req.body.contraseña, req.body.clave);
  res.json({ hash });
});

app.listen(3000);

Vue.js (Vite)

npm create vite@latest mi-app -- --template vue
cd mi-app
npm install quantum_ark
<template>
  <button @click="hash" :disabled="!cargado">Hash</button>
  <p v-if="resultado">{{ resultado.substring(0, 50) }}...</p>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

const resultado = ref('');
const cargado = ref(false);

onMounted(async () => {
  await init();
  cargado.value = true;
});

const hash = () => {
  resultado.value = quantumArk.quantum_ark_hash('contraseña', 'secreto');
};
</script>

Svelte (Vite)

npm create vite@latest mi-app -- --template svelte
cd mi-app
npm install quantum_ark
<script>
  import { onMount } from 'svelte';
  import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

  let resultado = '';
  let cargado = false;

  onMounted(async () => {
    await init();
    cargado = true;
  });

  function hash() {
    resultado = quantumArk.quantum_ark_hash('contraseña', 'secreto');
  }
</script>

<button on:click={hash} disabled={!cargado}>Hash</button>
{#if resultado}
  <p>{resultado.substring(0, 50)}...</p>
{/if}

Laravel (Node.js)

npm install quantum_ark

resources/js/quantum-ark.js:

import init, * as quantumArk from 'quantum_ark/pkg/quantum_ark.js';

let listo = false;

export async function inicializarQuantumArk() {
  if (!listo) {
    await init();
    listo = true;
  }
}

export const hash = (pwd, clave) => quantumArk.quantum_ark_hash(pwd, clave);
export const verificar = (pwd, clave, h) => quantumArk.quantum_ark_verify(pwd, clave, h);

API

quantum_ark_hash(contraseña, clave): string

Hash estándar (más rápido)

quantum_ark_hash_with_hmac(contraseña, clave): string

Hash con HMAC (recomendado para producción)

quantum_ark_hash_extreme(contraseña, clave): string

Triple capa cuántica (máxima seguridad)

quantum_ark_verify(contraseña, clave, hash): boolean

Verificar contraseña (tiempo constante)

quantum_ark_generate_salt(): string

Generar sal aleatoria

Características

  • ✅ Resistente a ataques cuánticos (basado en lattice)
  • ✅ Red neuronal caótica (768 neuronas)
  • ✅ Verificación en tiempo constante
  • ✅ Compatible con WASM
  • ✅ Funciona en todas partes: React, Vue, Svelte, Next.js, Express, Laravel, etc.
  • ✅ Sin configuración necesaria
  • ✅ Rápido y seguro

Rendimiento

Operación Tiempo
quantum_ark_hash ~50ms
quantum_ark_hash_with_hmac ~100ms
quantum_ark_hash_extreme ~150ms
quantum_ark_verify ~50ms

Seguridad

  1. Usa quantum_ark_hash_with_hmac() en producción
  2. Guarda la clave en variables de entorno
  3. Nunca registres contraseñas o hashes
  4. Usa HTTPS para transmisión
  5. Implementa limitación de velocidad

Ver SECURITY.md para más detalles.

Licencia

MIT - Libre para uso comercial y personal

Desarrollado por

Ark Dev - Soluciones Criptográficas Avanzadas

Soporte

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors