anun1

lunes, 11 de agosto de 2025

Generador De Claves Del Reto 3 De Bocvk

Hola amigos hoy les traigo un reto que me paso mi amigo karmany por pedido mio le dije que me pasara algunos retos de los viejos pero solo me paso 3 en fin creo que en vez de enfocarme en los retos viejos deberia pasarme a los nuevos pero me gusta recordar viejos tiempos en fin aqui una foto del reto



Como dice hay que ingresar un nombre y un serial mayor a 6 digitos si no nos manda ese error asi que me di a la tarea de crearle un generador de claves, use la fuerza bruta por que se me hizo complicado reversearlo y como verifica digito por digito y como son de 0 a 255 en el codigo ascii dije no tardara mucho en encontrar la clave solo tardara unos segundos bueno sin tanto rollo aqui una foto del generador de claves

 

asi que aqui les dejo el codigo completo en javascript y html para que lo analizen

<html>
<head>
<title>Generador De Claves Crackme #3 de Bocvk  ...:::By Flamer:::...</title>
</head>
<body>
<center>
<h1>Crackme #3 de Bocvk</h1>
Nombre:&nbsp&nbsp&nbsp <input type="text" id="nick" size='50' style="text-align:center;"><input type="button" value="Copy" onclick="copiar1()"><br><br>
Serial:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <input type="text" id="pass" size='50' style="text-align:center;"><input type="button" value="Copy" onclick="copiar2()"><br><br>
<input type="button" id="102" value="Generar" onclick="genera()">
<input type="button" id="104" value="Limpiar" onclick="limpia()">
</center>
<script>
function copiar1()
{
   let c=document.getElementById('nick');
   c.select();
   document.execCommand('copy');
}
function copiar2()
{
   let c=document.getElementById('pass');
   c.select();
   document.execCommand('copy');
   
}
function limpia()
{
   document.getElementById("nick").value="";
   document.getElementById("pass").value="";
}
function genera()
{   
 let nom=document.getElementById("nick").value;
 let y=0;x=0,digi="",edx=0,clave="",clave2="",d="";
 
 if(nom.length>=6)
   { 
     for(x=0;x<nom.length;x++)
     {
        digi=nom.substr(x,1);
   	edx=digi.charCodeAt()+2;
	edx=edx ^ 6;
	edx-=1;
	clave+=String.fromCharCode(edx); 
     }
  
     for(x=0;x<clave.length;x++)
     {
        digi=clave.substr(x,1);
	for(y=0;y<255;y++)
	{
           edx=y+3;
	   edx=edx ^ 9;
	   edx-=5;
	   d=String.fromCharCode(edx);
	   if(d==digi)
	   {
              clave2+=String.fromCharCode(y);
           }
        }
     }
     document.getElementById("pass").value=clave2; 
   }	 
   else
   {
       alert("El nombre debe ser mayor a 6 digitos");
   }
   
}
</script>
</body>
</html>

creo que con eso ya se dan una idea de como funciona el reto, es pero sea de su agrado saludos Flamer

la clave para Flamer es Xb]ai|

aqui una foto y si tiene errores me avisan




domingo, 3 de agosto de 2025

Generador de claves del reto 1 de Alfa por Flamer en javascript

Hola amigos hoy les traigo un generador de claves para el reto de alfa, el codigo esta hecho en javascript si lo quieren probar solo copean y pegan el el bloc de notas y la aguardan con la extension .html

bueno primero una foto del reto, otra cosa este reto tiene tiempo que se publico pero como me gustan este tipo de retos asi que aqui se los traigo 


 bueno si ingresamos el nombre y la contraseña a parece esto


asi que aqui esta el codigo en html

<html>
<head>
<title>Keygen Crackme 1 De alfa   ...:::By Flamer:::...</title>
</head>
<body>
<center>
<h1>Keygen Crackme 1 De alfa   ...:::By Flamer:::...</h1>
Nombre:&nbsp&nbsp&nbsp <input type="text" id="nick" size='50' style="text-align:center;"><input type="button" value="Copy" onclick="copiar1()"><br><br>
Serial:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <input type="text" id="pass" size='50' style="text-align:center;"><input type="button" value="Copy" onclick="copiar2()"><br><br>
<input type="button" id="102" value="Generar" onclick="genera()">
<input type="button" id="104" value="Limpiar" onclick="limpia()">
</center>
<script>
function limpia()
{
   document.getElementById("nick").value="";
   document.getElementById("pass").value="";
}
function copiar1()
{
   let c=document.getElementById('nick');
   c.select();
   document.execCommand('copy');
}
function copiar2()
{
   let c=document.getElementById('pass');
   c.select();
   document.execCommand('copy');
   
}
function genera()
{
  let x,suma=0,res1,res2,nom,digi;
   nom=document.getElementById("nick").value;
   res1=nom.length;

   for(x=0;x<res1;x++)
   {
      digi=nom.substr(x,1);
      suma+=digi.charCodeAt();
   }

   res1 = res1 * 5;
   res2 = res1 * 5;

   res2 = res1.toString() + res2.toString();

   res1 = parseInt(res2) * 5;
   res2 = res2.toString() + res1.toString();

   res2 = res2 - suma;
   document.getElementById("nick").value=nom; 
   document.getElementById("pass").value=res2;

}
</script>
</body>
</html>

el codigo se los dejo para que lo analisen y vean como es que el reto crea el serial dado segun su nombre y asi que lo ejecutamos y esta es su apariencia

asi que ingresamos el nombre y serial y aparece lo siguiente


bueno espero les guste y como saben no puedo explicar como se hace para encontrar el serial valido usando un debugger ya que me borran el blog, aver si no me lo borran publicando asi jajajaja bueno saludos Flamer


miércoles, 23 de julio de 2025

Sumar los digitos de un numero dado en javascript

Hola amigos hoy haremos un codigo para sumar los digitos de x numero dado por el usuario por ejemplo si el usuario ingresa 34 sumaremos 3+4 el resultado a mostrar en pantalla sera la siguiente:

3+4=7

y si la suma de los digitos de este numero dan como resultado un numero con mas de 1 digito seran devueltamente sumados ejemplo

56566 seria asi

5+6+5+6+6=28--->2+8=10--->1+0=1

bueno manos a la obra primero la funcion sum() es esta

function sum()
{ 
   let n=document.getElementById("num").value.toString() //toma el numero y lo convierte en string

   document.getElementById("log").value="" //limpia el campo de texto log
   sumar(n) //manda llamar la funcion sumar y le manda la variable n
}

los que hace esta funcion es tomar el numero dado y convertirlo a string despues limpia el campo de texto log y al final manda llamar la funcion sumar mandandole la variable n que es el valor dado por el usuario

bueno ya que entendimos este pedaso de codigo pasamos a la funcion sumar(n) esta

function sumar(n)
{
   let s=0,c="",x //inicializa las variables
   
   for(x=0;x<n.length;x++) //x=0 y pregunta si x es menor a la longitud de digitos de n para aumentar uno en uno con x++
   {
      d=n.substr(x,1) //toma el digito de la variable n
      c+=d + "+"  //concatena el digito tomado y le agraga un +
      s+=parseInt(d) //convierte el digito tomado y lo suma a la variable s
   }
   c=c.slice(0,-1)+"=" //remplaza el ultimo caracter de la variable c por un =
   c+=s //concatena el valor de s a la variable c 
   document.getElementById("log").value+=c //agraga el contenido de la variable c a el campo de texto log
   c=s.toString()//convierte el valor de la variable s a string y lo almacena en la variable c
   
   if(c.length > 1) //pregunta si la variable c tiene mas de un digito si es asi entra y manda llamar la funcion sumar
   {
      document.getElementById("log").value+="--->" //agrega contenido al campo log
      sumar(c) //manda llamar la funcion sumar y le pasa la variable c
   }  
}

en esta funcion primero inicializa las variables s=0,c="" y la variable x con valor no definido por que en el ciclo sera definida a 0...bueno esta funcion resive la variable n que es el numero a sumar sus digitos.

bueno ahora pasaremos al for inicializa la variable x a 0 despues preguntara la longitud de la variable n, cuantos digitos tiene y si x es menor a eso, esto quiere desir que el ciclo dara el numero de vueltas segun el numero de digitos de la variable n y despues ira aumentando uno en uno el valor de x.

asi que despues tomamos digito por digito de la variable n asi

 d=n.substr(x,1) despues lo concatena a la variable c añadiendole un + para despues convertirlo a entero y asi poderlo sumar a la variable s

al salir del for remplaza el ultimo caracter de la variable c por un  =  y despues en la siguiente linea a la variable c se le concatena la variable s para despues agragar el valor de c al campo de texto log

por ultimo el valor de la variable s es convertido a string y se almacena en la variable c para despues preguntar con un if si el valor de c tiene mas de un digito si es asi manda llamar la funcion sumar para que se repita la funcion y sume los nuevos digitos del numero obtenido.

bueno aqui el codigo completo

<html>
<head><title>Suma De Numeros</title>
</head>
<body>
<br><br><br><br>
<center>
Dame el numero a sumar:<input type="number" id="num">
<input type="button" value="Iniciar" onclick="sum()"><br><br>
<textarea id="log" cols="60" rows="10"></textarea>
</center>
<script>
function sumar(n)
{
   let s=0,c="",x
   
   for(x=0;x<n.length;x++)
   {
      d=n.substr(x,1)
	  c+=d + "+"  
	  s+=parseInt(d)
   }
   c=c.slice(0,-1)+"="
   c+=s
   document.getElementById("log").value+=c
   c=s.toString()
   
   if(c.length > 1)
   {
      document.getElementById("log").value+="--->"
      sumar(c)
   }
   
}
function sum()
{ 
   let n=document.getElementById("num").value.toString()

   document.getElementById("log").value=""
   sumar(n)
}
</script>
</body>
</html>

si lo quieren probar solo copeen y peguenlo en el bloc de notas y aguardar con la extencion .html  aqui una foto

bueno asi que aumentemos el nivel si queremos sumar los numeros de un rango estimado por ejemplo del 100 al 1000 solo añadiriamos un for ala funcion sum() aqui el codigo completo no lo explico por que es casi lo mismo solo cambea la funcion sum un poco añadiendole un for y nuevas variables

<html>
<head><title>Suma De Numeros</title>
</head>
<body>
<br><br><br><br>
<center>
Sumar valores de rango:<input type="number" id="num1" style="text-align:center;"> 
a <input type="number" id="num2" style="text-align:center;"><br><br>
<input type="button" value="Iniciar" onclick="sum()"><br><br>
<textarea id="log" cols="50" rows="70"></textarea>
</center>
<script>
function sumar(n)
{
   let s=0,c="",x
    
   
   for(x=0;x<n.length;x++)
   {
      d=n.substr(x,1)
	  c+=d + "+"  
	  s+=parseInt(d)
   }
   c=c.slice(0,-1)+"="
   c+=s
   document.getElementById("log").value+=c
   c=s.toString()
   
   if(c.length > 1)
   {
      document.getElementById("log").value+="--->"
      sumar(c)
   }
   
}
function sum()
{
   let n1=parseInt(document.getElementById("num1").value) //convertimos los valores a enteros
   let n2=parseInt(document.getElementById("num2").value) //usando el comando parseInt lo convertimos a entero
   let x,n=""
   
   document.getElementById("log").value="" //limpiamos el campo de texto log
   
   for(x=n1;x<=n2;x++)//x es inicializada con el valor inicial de n1 y el ciclo termina con el valor dado segun el valor de n2
   {
      n=x.toString() //x es convertida en string y almacenada en n
      sumar(n) //manda llamar la funcion sumar y le envia la variable n
      document.getElementById("log").value+="\n"
   }
}
</script>
</body>
</html>

aqui una foto



bueno eso creo que es todo espero les guste y saludos Flamer


domingo, 22 de junio de 2025

Imprimir n numeros felices en Javascript y html

Hola amigos aqui les traigo otro aporte es un codigo mas, esta hecho en javascript, se trata  de imprimir n numeros felices y mostrarlos en pantalla o en un cuadro de texto como lo hice yo bueno empesamos, primero tecleamos todo el codigo HTML que usaremos es este

<html>
<head><title>Numeros Felices</title>
</head>
<body>
<br><br><br>
<center>
Dame n Numeros Felices A Encontrar:<input type="text" id="num" style="text-align:center;">
<input type="button" value="Encontrar" onclick="buscar()"><br><br>
<textarea id="log" cols="50" rows="50"></textarea>
</center>
<script>
</script>
</body>
</html>

bueno ya tenemos el codigo html ahora pasaremos a la funcion buscar es la siguiente

function buscar()
{
   let n=parseInt(document.getElementById("num").value,10) //convertimos el valor del campo de texto a entero
   if(n>0) //pregunta si n es mayor a 0
   {
      let x=0 //inicializa x a 0
      while(n!=0) //pregunta si n es diferente a 0 si es asi entra y se repite el ciclo
      {
         x++ //incrementa x en 1 
	     if(bus(x)) //envia x a la funcion bus y regresa un valor booleano si es true quiere decir que el numero es feliz 
	     {
	        document.getElementById("log").value+=x.toString() + "\n" //agraga el valor al campo de texto log
		n-- //resta a n 1
	     } 
      }
   }
   else
   {
      alert("Error solo numeros mayores a 1") //envia un mensaje en pantalla
	  document.getElementById("num").value="" // limpia el cuadro de texto num
   }   
}

1-como vemos primero tomamos el valor escrito en el campo de texto y lo convertimos a entero
2-despues pregunta si n es mayor a cero, si es mayor entra sino manda un mensaje en pantalla
3-inicializa x a 0
4-envia x a la funcion bus y regresa un valor booleano si es true quiere decir que el numero es feliz 
5-si entro al if quiere decir que el valor x es un numero feliz asi que es agregado al campo de texto log
6-resta a n uno

ahora veromos la funcion bus aqui esta

function bus(numberx)
{
   let puntero= new Array() //declara un array
   let nnstr,largo,x,d,nn,suma=0 //declara las variables a usar
   nn=numberx //inicializa nn 
   do  //ciclo do while
   {
      nnstr=nn.toString() //convierte nn a string y es almacenado en la variable nnstr
      puntero.push(nn) //agrega un valor al array puntero
      largo=nnstr.length //toma la longitud de la variable nnstr y lo almacena en largo
      nn=0 //inicializa nn a 0
	  
	  for(x=0;x<largo;x++) //ciclo for
	  {
	     d=parseInt(nnstr.substr(x,1),10) //toma el digito del numero en string del primero al ultimo en cada vuelta del for y lo convierte a entero 
	     d=Math.pow(d,2) //eleva al cuadrado el digito tomado 
	     nn+=d //le suma el valor obtenido de elevar al cuadrado a nn	 
	  }
   }while(puntero.indexOf(nn)==-1) //pregunta si el valor de nn se encuentra dentro del array si es asi se sale del ciclo do while
   
   if(nn==1) //pregunta si nn es igual a 1 si es asi retorna true y quiere decir que el numero es feliz
   {
     return true 
   }
   else
   {
     return false
   }   
}   

1-en las primeras lineas de la funcion declara las variables a usar y un array llamado puntero
2-entra al ciclo do while y convierte nn a string para poder tomar digito por digito en el ciclo for
3-agrega el valor de nn al array, para poder preguntar despues si se encuentra dentro de el
4-toma la longitud de la variable nnstr y lo almacena en largo, para despues inicializar la variable nn a 0
5-tenemos un ciclo for donde la primera linea dentro de el es tomar digito por digito de uno en uno de nnstr y convertirlo a entero para despues elevarlo al cuadrado e irlos sumando a nn
6-en el while se pregunta si nn se encuentra en el array si no se encuentra entra de nuevo, si no entra devuelve false y quiere decir que no es un numero feliz

bueno aqui les dejor el codigo completo

<html>
<head><title>Numeros Felices</title>
</head>
<body>
<br><br><br>
<center>
Dame n Numeros Felices A Encontrar:<input type="number" id="num" style="text-align:center;" min="1">
<input type="button" value="Encontrar" onclick="buscar()"><br><br>
<textarea id="log" cols="50" rows="50"></textarea>
</center>
<script>
function buscar()
{
   let n=parseInt(document.getElementById("num").value,10)
   if(n>0)
   {
      let x=0
      while(n!=0)
      {
         x++  
	     if(bus(x))
	     {
	        document.getElementById("log").value+=x.toString() + "\n"
		    n--
	     } 
      }
   }
   else
   {
      alert("Error solo numeros mayores a 1")
	  document.getElementById("num").value=""
   }   
}
function bus(numberx)
{
   let puntero= new Array()
   let nnstr,largo,x,d,nn,suma=0
   nn=numberx
   do
   {
      nnstr=nn.toString()
      puntero.push(nn)
      largo=nnstr.length
      nn=0
	  
	  for(x=0;x<largo;x++)
	  {
	     d=parseInt(nnstr.substr(x,1),10)
	     d=Math.pow(d,2)
	     nn+=d		 
	  }
   }while(puntero.indexOf(nn)==-1)
   
   if(nn==1)
   {
     return true 
   }
   else
   {
     return false
   }   
}   
</script>
</body>
</html>

qui una foto del programa en ejecucion




si quieren probar el codigo solo copean este ultimo que es el codigo completo y lo pegan en el bloc de notas y lo aguardan con el nombre que quieran pero con la extension .html

bueno saludos Flamer y espero les guste


sábado, 14 de junio de 2025

Generador De Contraseñas Del Reto 1 De Dyablo

Hola amigos aqui les traigo otro generador de contraseñas esta ves del reto1 de Dyablo, como no puedo explicar como funciona ensamblador solo les dejare el codigo en html y javascript bueno aqui una foto del reto


como ven tenemos que activar el boton asi que lo abrimos con un editor hexadecimal y modificamos el siguiente byte aqui una foto


como ven en la foto hay sebe claramente la direccion del byte a modificar lo encontraran como 00 pero ustedes le ponen 01...ya que lo tenemos activado les dejo el codigo del generador de contraseñas

<html>
<head><title>keygen crackme1 de Dyablo</title>
</head>
<body>
<marquee>keygen crackme1 de Dyablo ...::::By Flamer::::...</marquee>
<br><br>
<center>
Nombre:<input type="text" id="nom" size="40" style="text-align:center;"><br><br>
Serial:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="pass" size="40" style="text-align:center;"><br><br>
<input type="button" value="Generar" onclick="generar(0)">
<input type="button" value="Limpiar" onclick="limpiar()">
</center>
<script>

function generar(y)
{
   let largo,nick=document.getElementById("nom").value
   
   
   if(nick.length>=4 && nick.length<=10)
   {
     largo=nick.length
	 c0=(largo*125)+6
	 c1=((largo*30)+15)*3
	 c2=nick.substr(2,2) 

	  document.getElementById("pass").value=c0.toString() + "-" + c1.toString() +c2.toUpperCase()
   }
   else
   {
      alert("El nombre debe contener 4 a 10 digitos")	  
   }
   
   
}

function limpiar()
{
   document.getElementById("nom").value=""
   document.getElementById("pass").value=""
}
</script>
</body>
</html>


aqui una foto del generador de claves en html y javascript

bueno aqui una foto del reto ya registrado



bueno espero les guste y pueden hecharle un vistaso al codigo para que vean como funciona la generacion de la clave saludos Flamer


viernes, 23 de mayo de 2025

Generador de claves del reto 2 de Rogerfm

Hola amigos aqui les traigo el generador de claves para el reto 2 de la pagina rogerfm, no puedo explicar como funciona en modo ensamblador pero les dejo el generador en html y javascript, asi se daran una idea de como funciona para generar la clave para cada nombre, aqui una foto del programa



y por haca una foto del generador de claves

bueno el codigo es el siguiente, lo hise sencillo 

<html>
<head><title>Keygen Crackme 2 Rogerfm</title>
</head>
<body>
<marquee>Keygen Crackme 2 rogerfm   ...:::Flamer:::...</marquee>
<br><br>
<center>
Nombre:<input type="text" id="nom" size="40" style="text-align:center;"><br><br>
Serial:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="pass" size="40" style="text-align:center;"><br><br>
<input type="button" value="Generar" onclick="generar(0)">
<input type="button" value="Limpiar" onclick="limpiar()">
</center>
<script>

function generar(y)
{
   let x,digito,d,edi=0,nick=document.getElementById("nom").value
   
   
   if(nick.length>=4 && nick.length<=10)
   {
      d2=45
      digito=nick.substring(x-1,x)
      d=digito.charCodeAt(0) * d2
      edi=d 
      d2++
	  
      for(x=2;x<=nick.length;x++)
      {
         digito=nick.substring(x-1,x)
		 d=digito.charCodeAt(0) * d2
		 edi+=d
         d2++		 
      }
	  document.getElementById("pass").value=edi
   }
   else
   {
      alert("El nombre debe contener 4 a 10 digitos")	  
   }
   
   
}

function limpiar()
{
   document.getElementById("nom").value=""
   document.getElementById("pass").value=""
}
</script>
</body>
</html>

asi que solo copean y pegan en el bloc de notas y lo renombran como reto.html 

bueno saludos y espero les guste Flamer


lunes, 19 de mayo de 2025

Generador De Claves Del Reto 1 de tHE ANALYST

Hola amigos como no puedo explicar como resolver los crackmes aqui les dejo el keygen o la solucion mejor dicho para los que quieren observar como funciona el keygen o como el crackme genera la clave bueno aqui una foto del crackme con mi nombre y serial


el codigo del keygen sera en HTML y JavaScript aqui una foto del keygen


ahora el codigo

<html>
<head><title>keygen crackme1 de tHE ANALYST ...::::By Flamer::::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="color:white;font-size:50;">keygen crackme1 de tHE ANALYST ...::::By Flamer::::...</marquee><br><br><br><br><br><br>
<div style="color:white;font-size:30;">
Nombre:&nbsp;&nbsp;<input type="text" id="nom" style="background-color:black;color:white;text-align:center;width:400;height:30;"><br>

Password:<input type="text" id="pass" style="background-color:black;color:white;text-align:center;width:400;height:30;""><br><br>
</div>

<input type="button" value="Generar" onclick="star(0)" style="width:100;height:30;">
<input type="button" value="Automatico" onclick="star(1)" style="width:100;height:30;">
<input type="button" value="Detener" onclick="stop()" style="width:100;height:30;">
<input type="button" value="Limpiar" onclick="clear1()" style="width:100;height:30;">

</center>
<script>
let time=0

function star(y)
{
   let x,digito,d,ebx=0,serial="",cadena="",largo,digi,nick=""
   
   if(y==1)
   {
      cadena="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
	  largo=parseInt(Math.random()*(26-5)+5)
	  l=cadena.length - 1
	  
	  for(x=0;x<largo;x++)
	  {
	     digi=parseInt(Math.random()*(l-0)+0)
		 nick+=cadena.substring(digi-1,digi)
	  }
	  document.getElementById("nom").value=nick
   }
   else
   {   
      nick=document.getElementById("nom").value
   }
   
   for(x=1;x<=nick.length;x++)
   {
      digito=nick.substring(x-1,x)
	  d=digito.charCodeAt(0) ^ x 
	  ebx+=d
   }
   d=d*6
   ebx=(ebx*128)+d
   serial=ebx.toString(16)
   document.getElementById("pass").value=serial.toUpperCase()
   
   if(y==1)
   {
       time=setTimeout("star(1)",10)
   }
}
function stop()
{
   clearTimeout(time)
}
function clear1()
{
   document.getElementById("nom").value=""
   document.getElementById("pass").value=""
}
</script>
</body>
</html>


Una cosa este crackme ya lo habia publicado en los foros elhacker.net y en underc0de pero con la novedad de que el boton limpiar ya lo solucione...bueno saludos flamer y espero les guste
 


lunes, 28 de abril de 2025

Juego piedra, papel o tijeras en javascript y html

Hola amigos hoy les dejare un simple codigo en javascript y html, es el juego pidra, papel o tijeras...es muy simple ya que no le puse muchos elementos y no le puse quien va ganando ni puntuacion ni nada por el estilo...primero creamos los elementos que son los botones a usar en html asi

<html>

<head><title>Juego Piedra, Papael o Tijera</title>

</head>

<body>

<marquee style="font-size:30;">Juego Piedra, Papael o Tijera ...::::By Flamer::::...</marquee>

<br><br><br><br>

<center>

<input type="button" value="?"  id="maquina" style="font-size:50;width:70;text-align:center;"><br><br>

<input type="button" value="🧻" id="op1" style="font-size:50;width:70;"  onclick="stop('🧻')" disabled>

<input type="button" value="✄" id="op2" style="font-size:50;width:70;"  onclick="stop('✄')" disabled>

<input type="button" value="🪨" id="op3" style="font-size:50;width:70;"  onclick="stop('🪨')" disabled><br><br>

<div id="result" style="font-size:30;">Presiona Click Para Jugar </div><br><br>

<input type="button" id="boton" value="Jugar" style="font-size:30;width:100;" onclick="star()">

son los botones a usar y la marquesina, asi como el div bueno ahora pasamos al codigo en javascript y es la funcion star()

let tid=0

function star()

{

   let opcion=parseInt(Math.random()*(4-1)+1)

   

   document.getElementById("op1").disabled=false

   document.getElementById("op2").disabled=false

   document.getElementById("op3").disabled=false

   

   document.getElementById("boton").disabled=true

   

   switch(opcion)

   {

      case 1:

     document.getElementById("maquina").value="🧻"

break

  case 2:

     document.getElementById("maquina").value="✄"

break

  case 3:

     document.getElementById("maquina").value="🪨"

break

  default:

         alert("fuera de rango")

         break  

   }

   tid=setTimeout("star()",10)

}

como ven declaramos la variable tid como global y despues dentro de la funcion star inicializamos la variable opcion en un numero al azar de 3 a 1....Nota le puse 4 por que asi me da numeros de 3 a 1 seguimos despues ponemos la opcion disabled a false a los botones op1,op2 y op3 y true al boton que es jugar, para despues preguntar en un switch si la variable opcion vale 1,2 o 3...dependiendo el valor que se le dio al azar se le asigna un valor papel, tijeras o piedra y se le asigna al boton llamado maquina...por ultimo tenemos el comando setTimeout que manda llamar la funcion star hasta que el usuario presione un boton y se detenga, esa opcion esta en la funcion stop que es la siguiente

function stop(x)

{

   clearTimeout(tid)

   

   document.getElementById("op1").disabled=true

   document.getElementById("op2").disabled=true

   document.getElementById("op3").disabled=true

   

   document.getElementById("boton").disabled=false

   

   let y=document.getElementById("maquina").value

   switch(x)

   {

      case "🪨":

     if(y=="🪨")

{

    document.getElementById("result").innerHTML="Empate 🪨 Es Igual a " + y

}

else if(y=="🧻")

{

    document.getElementById("result").innerHTML="Perdistes 🪨 No Le Gana a " + y

}

else

{

    document.getElementById("result").innerHTML="Ganastes 🪨 Le Gana a " + y

}

break

  case "🧻":

     if(y=="🧻")

{

    document.getElementById("result").innerHTML="Empate 🧻 Es Igual a " + y

}

else if(y=="✄")

{

    document.getElementById("result").innerHTML="Perdistes 🧻 No Le Gana a " + y

}

         else

{

    document.getElementById("result").innerHTML="Ganastes 🧻 Le Gana a " + y

}

break

  case "✄":

    if(y=="✄")

{

    document.getElementById("result").innerHTML="Empate ✄ Es Igual a " + y

}

else if(y=="🪨")

{

    document.getElementById("result").innerHTML="Perdistes ✄ No Le Gana a " + y

}

else

{

    document.getElementById("result").innerHTML="Ganastes ✄ Le Gana a " + y

}

break

  default:

         alert("fuera de rango")

         break  

   }

lo que hace esta funcion es detener el bucle con el comando clearTimeout y poner los botones op1,op2 y op3 en true y el boton en false y recive la opcion que fue seleccionada por el usuario y se almacena en x para despues asignarle el valor de maquina a "y" y luego con el comando switch preguntar dentro de el si ganastes, perdistes o empatastes

bueno aqui el codigo completo

<html>
<head><title>Juego Piedra, Papael o Tijera</title>
</head>
<body>
<marquee style="font-size:30;">Juego Piedra, Papael o Tijera ...::::By Flamer::::...</marquee>
<br><br><br><br>
<center>
<input type="button" value="?"  id="maquina" style="font-size:50;width:70;text-align:center;"><br><br>
<input type="button" value="🧻" id="op1" style="font-size:50;width:70;"  onclick="stop('🧻')" disabled>
<input type="button" value="✄" id="op2" style="font-size:50;width:70;"  onclick="stop('✄')" disabled>
<input type="button" value="🪨" id="op3" style="font-size:50;width:70;"  onclick="stop('🪨')" disabled><br><br>
<div id="result" style="font-size:30;">Presiona Click Para Jugar </div><br><br>
<input type="button" id="boton" value="Jugar" style="font-size:30;width:100;" onclick="star()">

<script>
let tid=0
function star()
{
   let opcion=parseInt(Math.random()*(4-1)+1)
   
   document.getElementById("op1").disabled=false
   document.getElementById("op2").disabled=false
   document.getElementById("op3").disabled=false
   
   document.getElementById("boton").disabled=true
   
   switch(opcion)
   {
      case 1:
	     document.getElementById("maquina").value="🧻"
		 break
	  case 2:
	     document.getElementById("maquina").value="✄"
		 break
	  case 3:
	     document.getElementById("maquina").value="🪨"
		 break
	  default:
         alert("fuera de rango")
         break 		 
   }
   tid=setTimeout("star()",10)
}
function stop(x)
{
   clearTimeout(tid)
   
   document.getElementById("op1").disabled=true
   document.getElementById("op2").disabled=true
   document.getElementById("op3").disabled=true
   
   document.getElementById("boton").disabled=false
   
   let y=document.getElementById("maquina").value
   switch(x)
   {
      case "🪨":
	     if(y=="🪨")
		 {
		    document.getElementById("result").innerHTML="Empate 🪨 Es Igual a " + y
		 }
		 else if(y=="🧻")
		 {
		    document.getElementById("result").innerHTML="Perdistes 🪨 No Le Gana a " + y
		 }
		 else
		 {
		    document.getElementById("result").innerHTML="Ganastes 🪨 Le Gana a " + y
		 }
		 break
	  case "🧻":
	     if(y=="🧻")
		 {
		    document.getElementById("result").innerHTML="Empate 🧻 Es Igual a " + y
		 }
		 else if(y=="✄")
		 {
		    document.getElementById("result").innerHTML="Perdistes 🧻 No Le Gana a " + y
		 }
         else
		 {
		    document.getElementById("result").innerHTML="Ganastes 🧻 Le Gana a " + y
		 }
		 break
	  case "✄":
	    if(y=="✄")
		 {
		    document.getElementById("result").innerHTML="Empate ✄ Es Igual a " + y
		 }
		 else if(y=="🪨")
		 {
		    document.getElementById("result").innerHTML="Perdistes ✄ No Le Gana a " + y
		 }
		 else
		 {
		    document.getElementById("result").innerHTML="Ganastes ✄ Le Gana a " + y
		 }
		 break
	  default:
         alert("fuera de rango")
         break 		 
   }
}
</script>
</center>
</body>
</html>

bueno espero les sea de su agrado saludos Flamer y si hay algun error digan en los cometarios


lunes, 14 de abril de 2025

Crear un generador de contraseñas en python

Hola amigos hoy crearemos un generador de contraseñas en python, ya que estoy aprendiendo este lenguaje se me hiso interesante crear uno ya que podria servir para ser los keygen asi que empesamos

primero importamos las librerias a usar

from tkinter import Tk,Label,Button,Entry

from functools import partial 

import tkinter as tk

import random

luego crearemos la ventana con sus dimensiones, con su titulo y color asi

ventana=Tk()

ventana.title("Password Generator")

ventana.geometry("600x200")

ventana.config(bg="black") 

despues creamos una etiqueta que tendra como contenido password y declaramos su color de fondo,su color de letra, ancho, alto y posicion

etiqueta=Label(ventana,text="Password:",bg="black",fg="white")

etiqueta.place(x=100,y=5,width=70,height=30)

despues creamos el cuadro de texto donde se mostraran las contraseñas y con las mismas caracteristicas, ancho,color de fondo,color de letra,ancho,alto y posicion

texto=Entry(ventana,bg="black",fg="white",justify="center")

texto.place(x=180,y=10,width=300,height=20)

luego inicializamos la variable t en nulo

t=""

despues cremos 2 botones el cual uno sera para detener el generador de contraseñas y otro para generarlas automaticamente asi

boton1=Button(text="Generar",bg="black",fg="white",command=partial(inicio,"0"))

boton1.place(x=200,y=50)

boton2=Button(text="Detener",bg="black",fg="white",command=partial(inicio,"1"))

boton2.place(x=300,y=50)

estos botones al darle clic mandan llamar a una funcion llamada inicio, por ultimo mandamos llamar al metodo mainloop() de la ventana

ventana.mainloop()

asi que ahora pasaremos a crear las funciones primero haremos la funcion inicio esta

def inicio(n):

    global t

    t=n

    if t=="0":

       t="0" 

       etiqueta.after(100,star)

    elif t=="1":

       t="1"   

la variable t la usaremos como variable global para que pueda ser usada dentro de las fucniones, la funcion inicio recibe un valor y ese valor puede ser 0 o 1 cuando lo reciva se lo pasa a la variable global t y esta es comparada en el if si es igual a 0 ejecuta la funcion star la cual veremos adelante y es la encargada de generar las contraseñas y si es 1 no hace nada solo me asegure que si se vuelve a ejecutar la funcion inicio t siguiera valiendo 1 y deje de generar contraseñas...ahora pasamos a la funcion star

def star():

    cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"

    n=random.randrange(15,30) #genera un numero al azar desde 15 a 30 que sera la longitud de la contraseña

    largo=len(cadena) #optiene la longitud de la variable cadena

    clave="" #inicializa la variable en nulo

    valor=texto.get() #extrae el contenido del campo de texto

    if valor!="": #pregunta si es diferente de nulo

        texto.delete(0,tk.END) #borra el contenido del campo de texto

    for x in range(0,n): #ciclo for se repite segun el valor de n

       digito=random.randrange(0,largo) #genera un numero al azar desde 0 a la longitud de la variable cadena

       clave+=cadena[digito:digito+1] #extrae el digito de la variable cadena y lo concatena en la variable clave

    texto.insert("end",clave) #inserta el valor de la variable clave al campo de texto     

    inicio(t) #manda llamar la funcion inicio

lo que hace esta funcion es inicializar la variable cadena con todos los digitos a usar en las contraseñas, yo puse esos solo para el ejemplo ustedes pueden agregarle mas como paréntesis u otros signos.

bueno despues inicializa la variable n en un rango de 15 a 30 digitos que es la longitud de la contraseña a generar, seguimos inicializando la variable largo que toma la longitud de la variable cadena y la variable clave es inicializada en nulo.

despues extraemos lo que contiene el campo de texto y lo pasamos a la variable valor y pregunta si es diferente de nulo con el comando if y si esta nulo sigue no entra al if pero si entra es borrado el contenido del campo texto.

luego entra al for donde la variable digito toma una posicion al azar con el comando random desde 0 a la longitud de la variable cadena y despues extraemos ese digito de la variable cadena y se le concatena a la variable clave....Saliendo del for al cuadro de texto se le incerta el valor de la variable clave que es la contraseña que se genero al azar para despues mandar llamar la funcion inicio.

bueno aqui el codigo completo

from tkinter import Tk,Label,Button,Entry
from functools import partial 
import tkinter as tk
import random

def star():
    cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"
    n=random.randrange(15,30)
    largo=len(cadena)
    clave=""
    valor=texto.get()
    
    if valor!="":
        texto.delete(0,tk.END)
    
    for x in range(0,n):
       digito=random.randrange(0,largo)
       clave+=cadena[digito:digito+1]
    texto.insert("end",clave)     
    inicio(t) 
    
def inicio(n):
    global t
    t=n
    if t=="0":
       t="0" 
       etiqueta.after(100,star)
    elif t=="1":
       t="1"       
       
ventana=Tk()
ventana.title("Password Generator")
ventana.geometry("600x200")
ventana.config(bg="black")

etiqueta=Label(ventana,text="Password:",bg="black",fg="white")
etiqueta.place(x=100,y=5,width=70,height=30)

texto=Entry(ventana,bg="black",fg="white",justify="center")
texto.place(x=180,y=10,width=300,height=20)

t=""

boton1=Button(text="Generar",bg="black",fg="white",command=partial(inicio,"0"))
boton1.place(x=200,y=50)

boton2=Button(text="Detener",bg="black",fg="white",command=partial(inicio,"1"))
boton2.place(x=300,y=50)

ventana.mainloop()

 y les dejo una foto como ejemplo



bueno eso es todo saludos y espero les guste Flamer


jueves, 10 de abril de 2025

Extraer contraseñas Wifi almacenadas en tu computadora usando vbscript y javascript

Hola amigos hoy les dejare 2 codigos uno en vbscript y el otro en javascript con html, sirven para extraer las contraseñas wifi almacenadas en la computadora...primero empesemos con el de vbscript aqui lo primero.

con dim declaramos las variables a usar y con set creamos el objecto shell y exec1 este ultimo objecto  ejecuta un comando cmd para extraer los perfiles de redes wifi

option explicit

dim shell,exec1,exec2,datos1,datos2,posicion1,posicion2

set shell=CreateObject("wscript.shell")

set exec1=shell.exec("cmd /c netsh wlan show profile")

creamos un ciclo do while y leemos linea por linea del texto extraido con el metodo StdOut.ReadLine() del objecto exec1 y se almacena en la variable datos1, despues inicializamos la variable posicion1 

do 

   datos1=exec1.StdOut.ReadLine()  

   posicion1="    Perfil de todos los usuarios     : "

luego ponemos un if para preguntar si en la linea extraida que es la variable datos1 se encuentra el valor de la variable posicion1, si es asi entra y remplaza el valor de la variable datos1 por nulo que dando asi el nombre de la red wifi en la variable datos1, ya que tenemos el nombre de la red wifi ejecuta otro comando cmd para extraer los datos de esa red wifi   

if instr(datos1,posicion1) Then

  datos1=Replace(datos1,posicion1,"")

  set exec2=shell.exec("cmd /c netsh wlan show profile " & chr(34) & datos1 & chr(34) & " key=clear")

dentro del if seguimos y mas adelante creamos otro ciclo do while anidado el cual leera linea por linea con el metodo StdOut.ReadLine() del objecto exec2 y almasenandolo en la variable datos2 seguido se inicializa la variable posicion2

do 

    datos2=exec2.StdOut.ReadLine()

    posicion2="    Contenido de la clave  : "   

seguimos y ponemos otro if donde este pregunta si en la linea extraida se encuentra el valor de la variable posicion2, si es asi entra y remplaza el contenido de la variable datos2 por nulo quedando asi solo la clave de la red wifi y ponemos un mensaje en pantalla que imprime el valor de la variable datos1 que es el nombre de la red wifi y la variable datos2 que es la clave wifi

if instr(datos2,posicion2) then 

     datos2=Replace(datos2,posicion2,"")

     msgbox "La La Password De La Red " & datos1 & "  es : " & datos2

end if

por ultimo ponemos el cierre de los ciclos do while, los cuales finalizan hasta leer la ultima linea estraida del comando cmd

      loop while not exec2.StdOut.atEndofStream   

   end if

loop while not exec1.StdOut.atEndofStream

aqui el codigo completo en vbscript solo copean y pegan en bloc de notas y guardan como wifi.vbs

option explicit
dim shell,exec1,exec2,datos1,datos2,posicion1,posicion2

set shell=CreateObject("wscript.shell")
set exec1=shell.exec("cmd /c netsh wlan show profile")

do 
   datos1=exec1.StdOut.ReadLine()  
   posicion1="    Perfil de todos los usuarios     : "
   
   if instr(datos1,posicion1) Then
	  datos1=Replace(datos1,posicion1,"")
	  set exec2=shell.exec("cmd /c netsh wlan show profile " & chr(34) & datos1 & chr(34) & " key=clear")
      
	  do 
	     datos2=exec2.StdOut.ReadLine()
         posicion2="    Contenido de la clave  : "
	
		 if instr(datos2,posicion2) then 
		    datos2=Replace(datos2,posicion2,"")
		    msgbox "La La Password De La Red " & datos1 & "  es : " & datos2
		 end if
      
	  loop while not exec2.StdOut.atEndofStream 	  
   
   end if
   
loop while not exec1.StdOut.atEndofStream

bueno como dije al principio son dos codigos el segundo se los dejare pero no lo explicare ya que es igual su funcionamiento esta hecho en html y javascript aqui el codigo, solo copean y pegan en el bloc de notas como wifi.hta

<html>
<head><title>Wifi Password</title>
<body>

<br><br>
<center>
<textarea id="resultados" cols="90" rows="20"></textarea><br><br>
<input type="button" value="Extraer Password Wifi" onclick="pass()">
</center>
<script>
function pass()
{   
   var exec2,posicion1,posicion2,datos1,datos2
   var shell=new ActiveXObject("wscript.shell")
   var exec1=shell.exec("cmd /c netsh wlan show profile")


   do
   {
      datos1=exec1.StdOut.ReadLine()
      posicion1="    Perfil de todos los usuarios     : "
   
      if(datos1.indexOf(posicion1)!=-1)
      { 
         datos1=datos1.replace(posicion1,"")
	     exec2=shell.exec("cmd /c netsh wlan show profile " + String.fromCharCode(34) + datos1 + String.fromCharCode(34) + " key=clear")
	     do 
	     {
	        datos2=exec2.StdOut.ReadLine()
		    posicion2="    Contenido de la clave  : "
		    if(datos2.indexOf(posicion2)!=-1)
		    {
		       datos2=datos2.replace(posicion2,"")
			   document.getElementById("resultados").value+="La Password De La Red " + datos1 + "  es : " + datos2 + "\n"
		    }
	     }while(!exec2.StdOut.atEndofStream) 
      }
   }while(!exec1.StdOut.atEndofStream)
}
</script>
</body>
</html>

bueno eso es todo si tienen errores comentar para corregirlos ya que no soy perfecto saludos Flamer


miércoles, 2 de abril de 2025

relog facil en python donde muestra fecha y hora actual

Hola hoy dejare un codigo donde te muestra la fecha y la hora de tu computadora en python, primero llamamos a las librerias a usar que son las siguientes

from tkinter import ttk

from tkinter import *

import tkinter as tk

import time

despues de esto definimos la funcion relog con las siguientes lineas

def relog(): #funcion relog

    fecha=time.strftime("La fecha es: %D \n\n La Hora es:%H:%M:%S") #obtenemos fecha y hora del sistema con el metodo time.strtime

    etiqueta.config(text=fecha) #le pasamos la fecha y la hora a la etiqueta para que sea mostrada

    etiqueta.after(200,relog) #manda llamar a la funcion relog cada 200 milisegundos con el metodo after

ahora teclemos el codigo para crear la ventana, su titulo y las dimenciones ancho y alto

ventana=Tk() #creamos la ventana

ventana.title("Horario") # titulo de la ventana

ventana.geometry("400x400") #dimenciones de la ventana

despues de esto pasaremos a crear el boton el cual al ser precionado mostrara la fecha y la hora

boton=ttk.Button(text="Mostrar fecha y hora",command=relog) #crea el boton con el texto "Mostrar fecha y hora" y con el metodo command manda llamar a la funcion relog

boton.place(x=130,y=100) #ponemos el boton en las cordenadas 130 y 100 del formulario

nos falta crear la etiqueta o el label donde se mostrara la fecha y la hora asi que pasamos a crearla con las siguientes lineas

etiqueta=Label(ventana,text="")

etiqueta.pack()

y por ultimo ponemos mainloop() para que se muestre la ventana que creamos anteriormente

ventana.mainloop() 

bueno aqui les dejo el codigo completo

from tkinter import ttk
from tkinter import *
import tkinter as tk
import time

def relog():
    fecha=time.strftime("La fecha es: %D \n\n La Hora es:%H:%M:%S")
    etiqueta.config(text=fecha)
    etiqueta.after(200,relog)

ventana=Tk()
ventana.title("Horario")
ventana.geometry("400x400")

boton=ttk.Button(text="Mostrar fecha y hora",command=relog)
boton.place(x=130,y=100)

etiqueta=Label(ventana,text="")
etiqueta.pack()


ventana.mainloop()


bueno ahora una imagen del programa al ejecutarlo


creo que eso es todo espero les halla gustado y sea de su agrado saludos Flamer


sábado, 29 de marzo de 2025

Crear una ventana en python usando tkinter

Hola hoy crearemos una ventana simple usando python, con un simple boton que nos arrojara lo escrito en un cuadro de texto, bueno primero importamos o llamamos a las librerias a usar son las siguientes

from tkinter import ttk,messagebox

from tkinter import *

import tkinter as tk

ya que mandamos llamar a las librerias creamos una funcion llamada mensaje esta

def mensaje():

   messagebox.showinfo(message=texto.get("1.0", "end-1c"),title="aviso")

esta cuando se ejecuta manda como mensaje lo que se encuentra escrito en el campo de texto...

otra cosa texto.get("1.0", "end-1c") lee desde el primer caracter del cuadro de texto hasta el ultimo,luego creamos la ventana y le ponemos el titulo y dimenciones

ventana=Tk()

ventana.title("Hola mundo hacker")

ventana.geometry("400x400")

despues en la siguiente linea creamos el cuadro de texto y sus dimenciones alto y ancho

texto=Text(ventana,width=30,height=3)

ya creado el cuadro de texto pasamos a crear el boton que mandara a ejecutar la funcion mensaje  

boton=ttk.Button(text="Mostrar",command=mensaje)

boton.place(x=50,y=50)

con el metodo text se mostrara el texto del boton y con el metodo command ejecutara la funcion y en place se asignan el alto y ancho de este

por ultimo usamos los metodos pack() para crear el cuadro de texto dentro de la ventana y mainloop() para crear o mostrar la ventana 

texto.pack()

ventana.mainloop()

bueno aqui el codigo completo

from tkinter import ttk,messagebox
from tkinter import *
import tkinter as tk

def mensaje():
   messagebox.showinfo(message=texto.get("1.0", "end-1c"),title="aviso")

ventana=Tk()
ventana.title("Hola mundo hacker")
ventana.geometry("400x400")

texto=Text(ventana,width=30,height=3)

boton=ttk.Button(text="Mostrar",command=mensaje)
boton.place(x=50,y=50)

texto.pack()
ventana.mainloop()

al ejecutarlo nos muestra lo siguiente



bueno espero les guste y sepan que soy principiante en python y en los demas lenguajes saludos Flamer


martes, 25 de marzo de 2025

Cifrado de cesar en python

Hola hoy haremos el codigo del cifrado de cesar en python tal como dice el titulo primero pedimos al usuario que nos de la frase y despues inicializamos la variable cadena con los caracteres correspondientes y un try por si pasa algun error

try:

   frase=input("Ingresa la frase a encriptar: ")

   cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"

luego le pedimos al usuario que ingrese el numero de caracteres a desplazar y preguntamos con un if si el valor que ingreso es menor a el numero de caracteres de la variable cadena, dicho valor se almacena en la variable p

p=int(input("Dame el numero de caracteres a desplazar: "))   

   if p<len(cadena):

si se cumple la condicion entrara al if y luego de eso incializamos las variables cifrado y posicion

cifrado=""

posicion=0

despues creamos un ciclo for para tomar cada caracter de uno en uno de la palabra frase y preguntar si se encuentra en la variable cadena con el comado if...aclaro la variable x es tipo string y toma el primer caracter, despues el segundo y asi sucesivamente y pregunta en el if si se encuentra en la variable cadena, si entra en el if tomamos la posicion donde se encuentra en la variable cadena y nos desplazamos el numero de veces que dijo el usuario y toma el nuevo caracter de la variable cadena y la almacena o lo concatena en la variable cifrado

for x in frase: #ciclo for toma caracter por caracter con la variable x

     if x in cadena: #pregunta si el caracter tomado de frase se encuentra en la variable cadena

     posicion=(cadena.index(x)+p) #encuentra la posicion de el caracter en la variable cadena y le suma el numero de desplazamiento dado por el usuario

     cifrado+=cadena[posicion] #concatena el nuevo caracter en la variable cifrado

por ultimo imprimimos el resultado del cifrado con el comando print y si sucede algun error

 print("texto cifrado: ",cifrado)

else: 

      print("Error fuera de rango")  

except ValueError:

   print("Error al ingresar algun dato")


aqui les dejo el codigo completo

try:
   frase=input("Ingresa la frase a encriptar: ")
   cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"
   
   p=int(input("Dame el numero de caracteres a desplazar: "))   
   if p<len(cadena):
      cifrado=""
      posicion=0
      
      for x in frase:
         if x in cadena:
            posicion=(cadena.index(x)+p) 
            cifrado+=cadena[posicion]
      print("texto cifrado: ",cifrado)
   else: 
      print("Error fuera de rango")  
except ValueError:
   print("Error al ingresar algun dato")

aqui una foto del codigo en ejecucion



bueno saludos Flamer y espero les sea de su agrado


domingo, 23 de marzo de 2025

Crear el triangulo de pascal en python y javascript

Hola ahora veremos como crear el triangulo de pascal, primero lo haremos en python despues en html y javascript.

como dije primero en python asi que pedimos el numero de lineas asi

try: #aqui ponemos un try por si el usuario ingresa un valor no numerico

lineas=int(input("Dame el numero de lineas: "))

 despues creamos un for el ciclo se repetira segun el numero de lineas del triangulo

for x in range(lineas):

dentro de este se encuentran 2 for anidados, el primero es para poner los espacios en blanco asi

for e in range(lineas-x+1):

         print(end=" ") 

despues inicializamos la variable valor a 1 y el segundo for imprime la linea de la piramide correspondiente con el comado print y el valor de la variable valor mas un espacio y se calcula el siguiente valor de la linea con la formula dentro del for

valor=1 

      for y in range(0,x+1):  #for anidado

         print(valor," ",end="") #imprime la variable valor

         valor=int(valor*(x-y)/(y+1)) #formula para calcular el valor siguiente de la linea de la piramide

saliendo del for se usa print para un salto de linea y mas abajo la excepción

 print("")     

except ValueError:

   print("Error al ingresar algun dato") 

bueno aqui les dejare el codigo completo

try:
   lineas=int(input("Dame el numero de lineas: "))
   for x in range(lineas):              
      for e in range(lineas-x+1):
         print(end=" ") 
      valor=1 
      for y in range(0,x+1):  
         print(valor," ",end="") 
         valor=int(valor*(x-y)/(y+1))
      print("")     
except ValueError:
   print("Error al ingresar algun dato")

bueno ami no me gusta ese asunto de usar la formula y otra cosa se distorciona si pones valores altos asi quedaria como se muestra en la imagen si lo ejecutamos




asi que hice mi version en html y javascript y un poco mas visual aqui el codigo y este no usa la formula de python

asi que primero creamos el cuadro de texto, el boton, el div y la marquesina y lo centramos asi

<html>

<head><title>triangulo de pascal</title>

</head>

<body>

<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>

<br><br>

<center>

Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>

<div id="tri"></div> 

dentro de la etiqueta <script> creamos la funcion generar

<script>

function Generar() //funcion generar

{

   var largo=document.getElementById("long").value //inicializamos la variable valor a el numero dado por el usuario

   var code="",a=0,b=0,c="",d="" //declaramos las variables a usar mas adelante

   

  for(var x=0;x<largo;x++) //ciclo for y otro ciclo for anidado para crear los cuadros de textos

  {

     for(var y=0;y<=x;y++) //for anidado

{

    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>" //creo los cuadros de textos y se almasenan en la variable code

}

code+="<br>" //inserto un salto de linea

  }

  document.getElementById("tri").innerHTML=code //inserto los cuadros de texto creados en el div


bueno ahora creamos otros for y for anidados para ingresar los valores a la piramide de pascal

for(x=0;x<largo;x++) //este for se repite segun la cantidad de lineas

  {

     for(y=0;y<=x;y++) //este for anidado se repite segun el valor de x, o sea segun el numero de cuadros de la linea

{

    if(y==0) //if que pregunta si la variable "y" es igual a cero si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==x)//if que pregunta si la variable "y" es igual a "x" si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==1 || (y+1)==x) //if que pregunta si la variable "y" es igual a 1 o si la variable "y+1" es igual a "x" si es asi el cuadro especifico de la piramide valdra x, si se cumple alguna de las condiciones entra al if

{

  document.getElementById(x + "-" + y).value=x //ingresa el valor de x a el cuadro

}

else if(document.getElementById(x + "-" + y).value=="") //if que pregunta si el cuadro a seguir esta vacio, si es asi entra

{

   a=x-1 //le resta 1 a x

   b=y-1 //le resta 1 a y

   c=document.getElementById(a + "-" + b).value //le pasa el valor de ese cuadro a la variable c

   d=document.getElementById(a + "-" + y).value //le pasa el valor de ese cuadro a la variable d

   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d) //suma los cuadros que se encuentran arriba de el cuadro que estamos para calcular el valor de este

}

}

 

  }  

bueno aqui el codigo completo

<html>
<head><title>triangulo de pascal</title>
</head>
<body>
<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>
<br><br>
<center>
Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>
<div id="tri"></div>

<script>
function Generar()
{
   var largo=document.getElementById("long").value
   var code="",a=0,b=0,c="",d=""
   
  for(var x=0;x<largo;x++)
  {
     for(var y=0;y<=x;y++)
	 {
	    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>"
	 }
	 code+="<br>"
  }
  document.getElementById("tri").innerHTML=code
  
  for(x=0;x<largo;x++)
  {
     for(y=0;y<=x;y++)
	 {
	    if(y==0)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==x)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==1 || (y+1)==x)
		{
		  document.getElementById(x + "-" + y).value=x 
		}
		else if(document.getElementById(x + "-" + y).value=="")
		{
		   a=x-1
		   b=y-1
		   c=document.getElementById(a + "-" + b).value
		   d=document.getElementById(a + "-" + y).value
		   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d)
		}
	 }
	 
  }  
}
</script>
</center>
</body>
</html>


ahora una imagen de este


 nota: no ingresen valores muy altos por que no caberan en pantalla

bueno saludos y espero les halla gustado flamer