elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 [192] 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 ... 287
1911  Programación / Desarrollo Web / Re: [Pregunta]: Editar un dato de javascript/Jquery en: 10 Agosto 2019, 04:36 am
Buenas noches

Quería saber si existe alguna manera de editar un dato usado en un fragmento de código js y jquery.
La idea es la siguiente, al momento de cargar la pagina tengo esto

Código
  1. $(".boton").click(function()
  2. {
  3.      var dato = 1;
  4.      alert(dato);
  5. });
  6.  

Quisiera saber como podría hacer que con otro código JS pueda editar ese dato por otro número.

Muchas gracias.
Si necesitas deflarar la variable con la función usa:
Código
  1. $(".boton").click(function()
  2. {
  3.      window.dato = 1;
  4.      alert(dato);
  5. });
  6. alert(dato);
  7.  

En caso que te de igual usarla de variable global simplemente declara la variable antes que el código que la va a utilizar.
Código
  1. //script
  2. //variables globales:
  3. var dato = 1;
  4.  
  5. //funciones:
  6. $(".boton").click(function()
  7. {
  8.      ++dato;
  9.      alert(dato);
  10. });
  11. ++dato;
  12. alert(dato);
  13.  


script
var dato = 1;


1912  Programación / Desarrollo Web / Re: Temas para clase en: 10 Agosto 2019, 03:10 am
https://www.w3schools.com/ este link te será muy útil. Para programación general no sabría indicarte. Se aprender al aprender a programar.
1913  Programación / Desarrollo Web / Re: Base64 a ASCII (decoder - javascript) en: 10 Agosto 2019, 01:52 am
No entiendo nada de eso!  :silbar:
Ayer no me dio problemas en los test que hice, hoy me los está dando. Tengo que repararlo. Pondré alerts durante todo el proceso y ya voy viendo donde deja de imprimirse y lo arreglo.

Qué no entiendies? Lo que es base64 y ascii? Para que sirven? Como se pasa de base64 a ascii? Como he decidido hacerlo yo? O entiendes todo lo anterior pero no entiendes el código en sí, las funciones, el uso de cadenas, etc?

El proceso es pasar la cadena en base64 a ascii.
-Paso base64 letras a representación de la tabla en bits. Es decir:
A = 000000
B = 000001
Hasta hacer los 64 carácteres que se pueden representar con 6bits en binario.

-Uno todos los bits para tener una cadena tipo: AB = 000000000001
-Los divido de 8 en 8 para poder representarlos en ASCII. Son 255 posibles caracteres distintos representados con números del 0 al 255.
Eso es exacamente lo que puedes representar con los 8 bits.

-Una vez que tengo los bits de 8 en 8 los traduzco a su correspondiente valor númerico(este paso lo omito) y ese número numérico a su representación en la tabla ASCII.

Por alguna parte del proceso tengo que manejar ceros en el caso de que la cadena tenga en Base64 tenga el símbolo =.

Hay una explicación en el encoder de esa parte del proceso. Creo que en este código está mal implementado y necesito primero comprobar la cadena  en búsqueda del símbolo igual y en caso de encontrarlo añadir 2 ceros al final de la cadena por cada igual.

No sé si está ahí el error o antes. Lo encontraré fácil cuando lo mire.
1914  Comunicaciones / Redes / Re: Problemas con IP en: 10 Agosto 2019, 01:17 am
no, solo tu isp puede hacer algo por ti, cualquier intento de enviar un paquete de una ip diferente a la entregada por tu isp, fallrá miserablemente... podrias apagar tu router por unos 5 minutos y volverlo a encender para que obtenga una nueva ip
En Movistar te la cambia entre 10 y 15 segundos tras apagarlo.
1915  Foros Generales / Foro Libre / Re: La ONU plantea cambiar la dieta para frenar el calentamiento global en: 10 Agosto 2019, 01:06 am
Yo quiero morir antes de los 67. Así no tengo que cotizar jeje.  :xD
1916  Programación / Programación C/C++ / Re: Problema con CodeBlocks en: 9 Agosto 2019, 21:16 pm
Te dice que no puede crear la carpeta bin/debug. Cambia los permisos de la carpeta, cambia el directorio en el que guardas el proyecto, o cambia la carpeta por defecto para guardar tu proyectos.
1917  Programación / Programación General / Re: Se presenta futuro programador en: 9 Agosto 2019, 21:06 pm
Busca las materias, así te haces una idea y puedes ir mirándolo a tu bola.
1918  Programación / Desarrollo Web / Base64 a ASCII (decoder - javascript) en: 9 Agosto 2019, 15:54 pm
Pasa de Base64 a ASCII. Uso libre.

encoder https://foro.elhacker.net/desarrollo_web/ascii_a_base64_encoder_javascript-t498409.0.html

Etiquetas javascript omitidas debido a filtro cloudflare.
Código
  1. &#65279;<html>
  2. <head><title>Decoder Base64</title>
  3. </head>
  4. <body>
  5. //EtiquetaJavascript
  6. var CadenaEnTextoq = "";
  7. var CadenaEnTextoTamanhoq;
  8. var CadenaEnASCIIq = "";
  9. var contadorIguales = 0;
  10. var CadenaEnASCIIq2 = "";
  11. var CadenaEnASCIIqTamanho = 0;
  12. var BitsDe8en8 = "";
  13. var CadenaDecoded = "";
  14. var CadenaEnASCIIq2Tamanho = 0;
  15. var contador_x = 0;
  16. var contador_z = 0;
  17. var mantenerseEnBucleq = true;
  18.  
  19. CadenaEnTextoq = prompt("Pon el texto");
  20.  
  21. CadenaEnTextoTamanhoq = CadenaEnTextoq.length;
  22.  
  23. for (var i = 0; i < CadenaEnTextoTamanhoq; ++i)
  24. {
  25.   if (CadenaEnTextoq[i] == 'A')
  26.   {
  27.   CadenaEnASCIIq += "000000";
  28.   }
  29.  
  30. if (CadenaEnTextoq[i] == 'B')
  31.   {
  32.   CadenaEnASCIIq += "000001";
  33.   }
  34.  
  35. if (CadenaEnTextoq[i] == 'C')
  36.   {
  37.   CadenaEnASCIIq += "000010";
  38.   }
  39.  
  40. if (CadenaEnTextoq[i] == 'D')
  41.   {
  42.   CadenaEnASCIIq += "000011";
  43.   }
  44.  
  45. if (CadenaEnTextoq[i] == 'E')
  46.   {
  47.   CadenaEnASCIIq += "000100";
  48.   }
  49.  
  50. if (CadenaEnTextoq[i] == 'F')
  51.   {
  52.   CadenaEnASCIIq += "000101";
  53.   }
  54.  
  55. if (CadenaEnTextoq[i] == 'G')
  56.   {
  57.   CadenaEnASCIIq += "000110";
  58.   }
  59.  
  60. if (CadenaEnTextoq[i] == 'H')
  61.   {
  62.   CadenaEnASCIIq += "000111";
  63.   }
  64.  
  65. if (CadenaEnTextoq[i] == 'I')
  66.   {
  67.   CadenaEnASCIIq += "001000";
  68.   }
  69.  
  70. if (CadenaEnTextoq[i] == 'J')
  71.   {
  72.   CadenaEnASCIIq += "001001";
  73.   }
  74.  
  75. if (CadenaEnTextoq[i] == 'K')
  76.   {
  77.   CadenaEnASCIIq += "001010";
  78.   }
  79.  
  80. if (CadenaEnTextoq[i] == 'L')
  81.   {
  82.   CadenaEnASCIIq += "001011";
  83.   }
  84.  
  85. if (CadenaEnTextoq[i] == 'M')
  86.   {
  87.   CadenaEnASCIIq += "001100";
  88.   }
  89.  
  90. if (CadenaEnTextoq[i] == 'N')
  91.   {
  92.   CadenaEnASCIIq += "001101";
  93.   }
  94.  
  95. if (CadenaEnTextoq[i] == 'O')
  96.   {
  97.   CadenaEnASCIIq += "001110";
  98.   }
  99.  
  100. if (CadenaEnTextoq[i] == 'P')
  101.   {
  102.   CadenaEnASCIIq += "001111";
  103.   }
  104.  
  105. if (CadenaEnTextoq[i] == 'Q')
  106.   {
  107.   CadenaEnASCIIq += "010000";
  108.   }
  109.  
  110. if (CadenaEnTextoq[i] == 'R')
  111.   {
  112.   CadenaEnASCIIq += "010001";
  113.   }
  114.  
  115. if (CadenaEnTextoq[i] == 'S')
  116.   {
  117.   CadenaEnASCIIq += "010010";
  118.   }
  119.  
  120. if (CadenaEnTextoq[i] == 'T')
  121.   {
  122.   CadenaEnASCIIq += "010011";
  123.   }
  124.  
  125. if (CadenaEnTextoq[i] == 'U')
  126.   {
  127.   CadenaEnASCIIq += "010100";
  128.   }
  129.  
  130. if (CadenaEnTextoq[i] == 'V')
  131.   {
  132.   CadenaEnASCIIq += "010101";
  133.   }
  134.  
  135. if (CadenaEnTextoq[i] == 'W')
  136.   {
  137.   CadenaEnASCIIq += "010110";
  138.   }
  139.  
  140. if (CadenaEnTextoq[i] == 'X')
  141.   {
  142.   CadenaEnASCIIq += "010111";
  143.   }
  144.  
  145. if (CadenaEnTextoq[i] == 'Y')
  146.   {
  147.   CadenaEnASCIIq += "011000";
  148.   }
  149.  
  150. if (CadenaEnTextoq[i] == 'Z')
  151.   {
  152.   CadenaEnASCIIq += "011001";
  153.   }
  154.  
  155. if (CadenaEnTextoq[i] == 'a')
  156.   {
  157.   CadenaEnASCIIq += "011010" ;
  158.   }
  159.  
  160. if (CadenaEnTextoq[i] == 'b')
  161.   {
  162.   CadenaEnASCIIq += "011011";
  163.   }
  164.  
  165. if (CadenaEnTextoq[i] == 'c')
  166.   {
  167.   CadenaEnASCIIq += "011100";
  168.   }
  169.  
  170. if (CadenaEnTextoq[i] == 'd')
  171.   {
  172.   CadenaEnASCIIq += "011101";
  173.   }
  174.  
  175. if (CadenaEnTextoq[i] == 'e')
  176.   {
  177.   CadenaEnASCIIq += "011110";
  178.   }
  179.  
  180. if (CadenaEnTextoq[i] == 'f')
  181.   {
  182.   CadenaEnASCIIq += "011111";
  183.   }
  184.  
  185. if (CadenaEnTextoq[i] == 'g')
  186.   {
  187.   CadenaEnASCIIq += "100000";
  188.   }
  189.  
  190. if (CadenaEnTextoq[i] == 'h')
  191.   {
  192.   CadenaEnASCIIq += "100001";
  193.   }
  194.  
  195. if (CadenaEnTextoq[i] == 'i')
  196.   {
  197.   CadenaEnASCIIq += "100010";
  198.   }
  199.  
  200.  
  201. if (CadenaEnTextoq[i] == 'j')
  202.   {
  203.   CadenaEnASCIIq += "100011";
  204.   }
  205.  
  206. if (CadenaEnTextoq[i] == 'k')
  207.   {
  208.   CadenaEnASCIIq += "100100";
  209.   }
  210.  
  211. if (CadenaEnTextoq[i] == 'l')
  212.   {
  213.   CadenaEnASCIIq += "100101";
  214.   }
  215.  
  216. if (CadenaEnTextoq[i] == 'm')
  217.   {
  218.   CadenaEnASCIIq += "100110";
  219.   }
  220.  
  221. if (CadenaEnTextoq[i] == 'n')
  222.   {
  223.   CadenaEnASCIIq += "100111";
  224.   }
  225.  
  226. if (CadenaEnTextoq[i] == 'o')
  227.   {
  228.   CadenaEnASCIIq += "101000";
  229.   }
  230.  
  231. if (CadenaEnTextoq[i] == 'p')
  232.   {
  233.   CadenaEnASCIIq += "101001";
  234.   }
  235.  
  236. if (CadenaEnTextoq[i] == 'q')
  237.   {
  238.   CadenaEnASCIIq += "101010";
  239.   }
  240.  
  241.  
  242. if (CadenaEnTextoq[i] == 'r')
  243.   {
  244.   CadenaEnASCIIq += "101011";
  245.   }
  246.  
  247. if (CadenaEnTextoq[i] == 's')
  248.   {
  249.   CadenaEnASCIIq += "101100";
  250.   }
  251.  
  252. if (CadenaEnTextoq[i] == 't')
  253.   {
  254.   CadenaEnASCIIq += "101101";
  255.   }
  256.  
  257. if (CadenaEnTextoq[i] == 'u')
  258.   {
  259.   CadenaEnASCIIq += "101110";
  260.   }
  261.  
  262. if (CadenaEnTextoq[i] == 'v')
  263.   {
  264.   CadenaEnASCIIq += "101111";
  265.   }
  266.  
  267. if (CadenaEnTextoq[i] == 'w')
  268.   {
  269.   CadenaEnASCIIq += "110000";
  270.   }
  271.  
  272. if (CadenaEnTextoq[i] == 'x')
  273.   {
  274.   CadenaEnASCIIq += "110001";
  275.   }
  276.  
  277. if (CadenaEnTextoq[i] == 'y')
  278.   {
  279.   CadenaEnASCIIq += "110010";
  280.   }
  281.  
  282. if (CadenaEnTextoq[i] == 'z')
  283.   {
  284.   CadenaEnASCIIq += "110011";
  285.   }
  286.  
  287. if (CadenaEnTextoq[i] == '0')
  288.   {
  289.   CadenaEnASCIIq += "110100";
  290.   }
  291.  
  292. if (CadenaEnTextoq[i] == '1')
  293.   {
  294.   CadenaEnASCIIq += "110101";
  295.   }
  296.  
  297. if (CadenaEnTextoq[i] == '2')
  298.   {
  299.   CadenaEnASCIIq += "110110";
  300.   }
  301.  
  302.  
  303. if (CadenaEnTextoq[i] == '3')
  304.   {
  305.   CadenaEnASCIIq += "110111";
  306.   }
  307.  
  308. if (CadenaEnTextoq[i] == '4')
  309.   {
  310.   CadenaEnASCIIq += "111000";
  311.   }
  312.  
  313. if (CadenaEnTextoq[i] == '5')
  314.   {
  315.   CadenaEnASCIIq += "111001";
  316.   }
  317.  
  318. if (CadenaEnTextoq[i] == '6')
  319.   {
  320.   CadenaEnASCIIq += "111010";
  321.   }
  322.  
  323. if (CadenaEnTextoq[i] == '7')
  324.   {
  325.   CadenaEnASCIIq += "111011";
  326.   }
  327.  
  328. if (CadenaEnTextoq[i] == '8')
  329.   {
  330.   CadenaEnASCIIq += "111100";
  331.   }
  332.  
  333. if (CadenaEnTextoq[i] == '9')
  334.   {
  335.   CadenaEnASCIIq += "111101";
  336.   }
  337.  
  338. if (CadenaEnTextoq[i] == '+')
  339.   {
  340.   CadenaEnASCIIq += "111110";
  341.   }
  342.  
  343. if (CadenaEnTextoq[i] == '/')
  344.   {
  345.   CadenaEnASCIIq += "111111";
  346.   }
  347.  
  348. if (CadenaEnTextoq[i] == '=')
  349.   {
  350.   contadorIguales++;
  351.   }
  352.  
  353. }
  354.  
  355. CadenaEnASCIIqTamanho = CadenaEnASCIIq.length;
  356.  
  357. if (contadorIguales == 1)
  358. {
  359.   for  (var i = 0; i < (CadenaEnASCIIqTamanho -2) ; ++i)
  360.   {
  361.   CadenaEnASCIIq2 += CadenaEnASCIIq[i];
  362.   }
  363. }
  364.  
  365. if (contadorIguales == 2)
  366. {
  367. for  (var i = 0; i < (CadenaEnASCIIqTamanho -4) ; ++i)
  368.   {
  369.   CadenaEnASCIIq2 += CadenaEnASCIIq[i];
  370.   }
  371. }
  372.  
  373. CadenaEnASCIIq2Tamanho = CadenaEnASCIIq2.length;
  374.  
  375.  
  376. do
  377. {
  378. BitsDe8en8 += CadenaEnASCIIq2[contador_z];
  379.  
  380. ++contador_x;
  381. ++contador_z;
  382.  
  383. if (contador_x == 8)
  384. {
  385.  
  386.  
  387. if ( BitsDe8en8 == "01000001")
  388.       {
  389.        CadenaDecoded += "A";
  390.       }
  391.  
  392. if ( BitsDe8en8 == "01000010")
  393.       {
  394.        CadenaDecoded += "B";
  395.       }
  396.  
  397. if ( BitsDe8en8 == "01000011")
  398.       {
  399.        CadenaDecoded += "C";
  400.       }
  401.  
  402. if ( BitsDe8en8 == "01000100")
  403.       {
  404.        CadenaDecoded += "D";
  405.       }
  406.  
  407. if ( BitsDe8en8 == "01000101")
  408.       {
  409.        CadenaDecoded += "E";
  410.       }
  411.  
  412. if ( BitsDe8en8 == "01000110")
  413.       {
  414.        CadenaDecoded += "F";
  415.       }
  416.  
  417. if ( BitsDe8en8 == "01000111")
  418.       {
  419.        CadenaDecoded += "G";
  420.       }
  421.  
  422. if ( BitsDe8en8 == "01001000")
  423.       {
  424.        CadenaDecoded += "H";
  425.       }
  426.  
  427. if ( BitsDe8en8 == "01001001")
  428.       {
  429.        CadenaDecoded += "I";
  430.       }
  431.  
  432. if ( BitsDe8en8 == "01001010")
  433.       {
  434.        CadenaDecoded += "J";
  435.       }
  436.  
  437. if ( BitsDe8en8 == "01001011")
  438.       {
  439.        CadenaDecoded += "K";
  440.       }
  441.  
  442. if ( BitsDe8en8 == "01001100")
  443.       {
  444.        CadenaDecoded += "L";
  445.       }
  446.  
  447. if ( BitsDe8en8 == "01001101")
  448.       {
  449.        CadenaDecoded += "M";
  450.       }
  451.  
  452. if ( BitsDe8en8 == "01001110")
  453.       {
  454.        CadenaDecoded += "N";
  455.       }
  456.  
  457. if ( BitsDe8en8 == "01001111")
  458.       {
  459.        CadenaDecoded += "O";
  460.       }
  461.  
  462. if ( BitsDe8en8 == "01010000")
  463.       {
  464.        CadenaDecoded += "P";
  465.       }
  466.  
  467. if ( BitsDe8en8 == "01010001")
  468.       {
  469.        CadenaDecoded += "Q";
  470.       }
  471.  
  472. if ( BitsDe8en8 == "01010010")
  473.       {
  474.        CadenaDecoded += "R";
  475.       }
  476.  
  477. if ( BitsDe8en8 == "01010011")
  478.       {
  479.        CadenaDecoded += "S";
  480.       }
  481.  
  482. if ( BitsDe8en8 == "01010100")
  483.       {
  484.        CadenaDecoded += "T";
  485.       }
  486.  
  487. if ( BitsDe8en8 == "01010101")
  488.       {
  489.        CadenaDecoded += "U";
  490.       }
  491.  
  492. if ( BitsDe8en8 == "01010110")
  493.       {
  494.        CadenaDecoded += "V";
  495.       }
  496.  
  497. if ( BitsDe8en8 == "01010111")
  498.       {
  499.        CadenaDecoded += "W";
  500.       }
  501.  
  502. if ( BitsDe8en8 == "01011000")
  503.       {
  504.        CadenaDecoded += "X";
  505.       }
  506.  
  507. if ( BitsDe8en8 == "01011001")
  508.       {
  509.        CadenaDecoded += "Y";
  510.       }
  511.  
  512. if ( BitsDe8en8 == "01011010")
  513.       {
  514.        CadenaDecoded += "Z";
  515.       }
  516.  
  517. if ( BitsDe8en8 == "01100001")
  518.       {
  519.        CadenaDecoded += "a";
  520.       }
  521.  
  522. if ( BitsDe8en8 == "01100010")
  523.       {
  524.        CadenaDecoded += "b";
  525.       }
  526.  
  527. if ( BitsDe8en8 == "01100011")
  528.       {
  529.        CadenaDecoded += "c";
  530.       }
  531.  
  532. if ( BitsDe8en8 == "01100100")
  533.       {
  534.        CadenaDecoded += "d";
  535.       }
  536.  
  537. if ( BitsDe8en8 == "01100101")
  538.       {
  539.        CadenaDecoded += "e";
  540.       }
  541.  
  542. if ( BitsDe8en8 == "01100110")
  543.       {
  544.        CadenaDecoded += "f";
  545.       }
  546.  
  547. if ( BitsDe8en8 == "01100111")
  548.       {
  549.        CadenaDecoded += "g";
  550.       }
  551.  
  552. if ( BitsDe8en8 == "01101000")
  553.       {
  554.        CadenaDecoded += "h";
  555.       }
  556.  
  557. if ( BitsDe8en8 == "01101001")
  558.       {
  559.        CadenaDecoded += "i";
  560.       }
  561.  
  562. if ( BitsDe8en8 == "01101010")
  563.       {
  564.        CadenaDecoded += "j";
  565.       }
  566.  
  567. if ( BitsDe8en8 == "01101011")
  568.       {
  569.        CadenaDecoded += "k";
  570.       }
  571.  
  572. if ( BitsDe8en8 == "01101100")
  573.       {
  574.        CadenaDecoded += "l";
  575.       }
  576.  
  577. if ( BitsDe8en8 == "01101101")
  578.       {
  579.        CadenaDecoded += "m";
  580.       }
  581.  
  582. if ( BitsDe8en8 == "01101110")
  583.       {
  584.        CadenaDecoded += "n";
  585.       }
  586.  
  587. if ( BitsDe8en8 == "01101111")
  588.       {
  589.        CadenaDecoded += "o";
  590.       }
  591.  
  592. if ( BitsDe8en8 == "01110000")
  593.       {
  594.        CadenaDecoded += "p";
  595.       }
  596.  
  597. if ( BitsDe8en8 == "01110001")
  598.       {
  599.        CadenaDecoded += "q";
  600.       }
  601.  
  602. if ( BitsDe8en8 == "01110010")
  603.       {
  604.        CadenaDecoded += "r";
  605.       }
  606.  
  607. if ( BitsDe8en8 == "01110011")
  608.       {
  609.        CadenaDecoded += "s";
  610.       }
  611.  
  612. if ( BitsDe8en8 == "01110100")
  613.       {
  614.        CadenaDecoded += "t";
  615.       }
  616.  
  617. if ( BitsDe8en8 == "01110101")
  618.       {
  619.        CadenaDecoded += "u";
  620.       }
  621.  
  622. if ( BitsDe8en8 == "01110110")
  623.       {
  624.        CadenaDecoded += "v";
  625.       }
  626.  
  627. if ( BitsDe8en8 == "01110111")
  628.       {
  629.        CadenaDecoded += "w";
  630.       }
  631.  
  632. if ( BitsDe8en8 == "01111000")
  633.       {
  634.        CadenaDecoded += "x";
  635.       }
  636.  
  637. if ( BitsDe8en8 == "01111001")
  638.       {
  639.        CadenaDecoded += "y";
  640.       }
  641.  
  642. if ( BitsDe8en8 == "01111010")
  643.       {
  644.        CadenaDecoded += "z";
  645.       }
  646.  
  647. if ( BitsDe8en8 == "00110000")
  648.       {
  649.        CadenaDecoded += "0";
  650.       }
  651.  
  652. if ( BitsDe8en8 == "00110001")
  653.       {
  654.        CadenaDecoded += "1";
  655.       }
  656.  
  657. if ( BitsDe8en8 == "00110010")
  658.       {
  659.        CadenaDecoded += "2";
  660.       }
  661.  
  662. if ( BitsDe8en8 == "00110011")
  663.       {
  664.        CadenaDecoded += "3";
  665.       }
  666.  
  667. if ( BitsDe8en8 == "00110100")
  668.       {
  669.        CadenaDecoded += "4";
  670.       }
  671.  
  672. if ( BitsDe8en8 == "00110101")
  673.       {
  674.        CadenaDecoded += "5";
  675.       }
  676.  
  677. if ( BitsDe8en8 == "00110110")
  678.       {
  679.        CadenaDecoded += "6";
  680.       }
  681.  
  682. if ( BitsDe8en8 == "00110111")
  683.       {
  684.        CadenaDecoded += "7";
  685.       }
  686.  
  687. if ( BitsDe8en8 == "00111000")
  688.       {
  689.        CadenaDecoded += "8";
  690.       }
  691.  
  692. if ( BitsDe8en8 == "00111001")
  693.       {
  694.        CadenaDecoded += "9";
  695.       }
  696.  
  697. if ( BitsDe8en8 == "00101011")
  698.       {
  699.        CadenaDecoded += "+";
  700.       }
  701.  
  702. if ( BitsDe8en8 == "00101111")
  703.       {
  704.        CadenaDecoded += "/";
  705.       }
  706.  
  707.   contador_x = 0;
  708.   BitsDe8en8 = "";
  709.   }
  710.  
  711.   if ( contador_z == CadenaEnASCIIq2Tamanho )
  712.   {
  713.   mantenerseEnBucleq = false;
  714.   }
  715.  
  716.  
  717. } while (mantenerseEnBucleq == true)
  718.  
  719. document.write(CadenaDecoded);
  720. alert (CadenaDecoded);
  721.  
  722. //Cerrar etiqueta javascript
  723. </body>
  724. </html>
  725.  
1919  Foros Generales / Foro Libre / Re: La ONU plantea cambiar la dieta para frenar el calentamiento global en: 9 Agosto 2019, 13:51 pm
La solución a este problema del calentamiento global ya nos la dio Joliguu en sus recientes películas de los "Avenyers" donde un tal Thanos con solo chasquiar los dedos acaba con una gran parte de la población del planeta... pero como esto no será posible en un futuro inmediato (creo yo), lo mejor sería una gran guerra que terminara por lo menos con la mitad de la población del planeta, porque esa pendejada de cambiar los hábitos alimenticios no funcionara para nada... hay que ser realistas, solo la guerra salvara el planeta  de su destrucción...

 :rolleyes: :o :rolleyes:

Saludos.
Tenemos cárceles para poder tener libertad. Destrucción para salvar al planeta? Te lo compro. Pero lo de la vela solar funcionaría  :-(
1920  Programación / Desarrollo Web / Re: Cifrar texto a Base64 en javascript en: 9 Agosto 2019, 07:23 am
Es más simple si utilizas operadores bitwise:

Código
  1. let b64 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
  2. 'T','U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
  3. 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '='];
  4.  
  5. function asciiToBase64(str){
  6.        if(!str.length) return "";
  7.        let [f8, s8, t8] = str.substring(0,3).split('').map(c => c.charCodeAt(0));
  8.        let firstB = (f8 & 0b11111100) >>> 2;
  9.        let secondB = ((f8 & 0b00000011) << 4) | ((s8 & 0b11110000) >>> 4);
  10.        let thirdB = s8 ? (((s8 & 0b00001111) << 2) | ((t8 & 0b11000000) >>> 6)) : 64;
  11.        let fourthB = t8 ? (t8 & 0b00111111) : 64;
  12.        return b64[firstB] + b64[secondB] + b64[thirdB] + b64[fourthB] + asciiToBase64(str.slice(3));
  13. }

--------------------------------------------------------------------

Sí, mucho más sencillo, corto y eficiente. Lo hice a lo bruto para poder modificarlo fácilmente y tener control en cualquier parte del proceso. Si te fijas por el nombre de la variable iba a poner primero el valor en ASCII traduciendo la A a 65, por si se quería realizar alguna operación con los valores en ASCII y los valores que no estuviesen en el rango de caracteres de base64 hacer saltos hacia los siguientes pero no quería usar un array y me iba a dar pereza y por eso puse el binario directo xD.

Por si alguien va usar los operadores de bits para implementar la codificación, según el standart de javascript se necesita tirar una excepción en caso de que los valores no estén dentro del rango 0-255 (que son los que contempla el ASCII) en el momento de hacer el encode:
Código
  1. if (/([^\u0000-\u00ff])/.cadenaCodificar(cadenaCodificar)){ throw new Error("No se pueden codificar caracteres no ASCII.");

Para el decoder:
Código
  1. CadenaDecodificar = CadenaDecodificar.replace(/\s/g,""); if(!(/^[a-z0-9\+\/\s]+\={0,2}$/i.test(text)) || text.length % 4 > 0){ throw new Error("El texto no es una cadena base64.");

Hace 10 mins me puse a hacer el decoder de la misma forma que el encoder, ya funciona todo, pero de momento solo decodifica el binario de la letra A. Me falta ponerle los 62 if restantes asique igual lo acabo mañana que no me apetece xD

El decoder lo debería poner en este mismo hilo? O creo otro independiente y pongo links del uno al otro? Funcionan ambos por separado aunque le cambié el nombre a las variables para que no coincidiesen por si se quieren usar en las mismas etiquetas los 2 juntos.
Cuando tenga datos los meto en un blogspot y los linkeo también por si alguien los quiere probar antes de usarlos.
Páginas: 1 ... 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 [192] 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 ... 287
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines