Puede que no sea el método más seguro, pero como curiosidad, está muy bien. Vamos a aprovecharnos de que OpenSSL nos deja especificar la fuente de números aleatorios a la hora de generar una clave privada (y para otras cosas también). Aunque dicha característica está pensada para dispositivos externos que generen números aleatorios, como un dispositivo de hardware especial, o un software que genere siempre los mismos de cara a compartirlos… vamos a utilizar como generador de números aleatorios nuestra tarjeta de sonido.… Leer artículo completo
Cómo cifrar archivos con OpenSSL y con par de claves pública y privada. Varios métodos, paso a paso
Si queremos aumentar la seguridad del cifrado de archivos con OpenSSL. En lugar de utilizar una contraseña plana como se indica en el post anterior podemos utilizar un par de claves pública y privada para este cifrado. De estar forma, por un lado podemos ahorrarnos (si queremos) el tener que recordar una contraseña segura, y por otro ganar en seguridad, ya que las contraseñas, al fin y al cabo terminan siendo poca cosa.… Leer artículo completo
Generando imágenes en C, sólo por diversión, empezando desde cero (Parte I)
Hace tiempo que no pongo nada de imagen digital, y ya tenía ganas. No haremos nada complicado, pero muchas veces, cuando empezamos a programar, pensamos en representar el contenido de un array en una imagen, o para esas veces en que pensamos que un simple algoritmo nos puede ayudar a crear la imagen que queremos.
Cómo generar las imágenes
Para generar las imágenes, vamos a pensar en un buffer sencillo, lineal de tipo unsigned char, o uint8_t, para imágenes en blanco y negro… vamos a empezar con imágenes sencillas, ya meteremos color… y más cosas.… Leer artículo completo
Monitorizar nuestro sistema desde una aplicación en C++11
Nuestros programas, muchas veces necesitan conocer información sobre el ordenador donde se están ejecutando. Una característica muy interasante y útil (para mi gusto) es que los sistemas Unix nos proporcionan una interfaz para conocer muchas cosas a través del sistema de archivos, de esta forma podemos conocer la información estemos donde estemos y usemos en lenguaje que usemos (no tenemos que tener una API en nuestro lenguaje que pida al sistema la información ni nada).… Leer artículo completo
Reemplazar cadenas en C++, esta vez desde un map, para múltiples sustituciones
Hace unos días hablamos de cómo reemplazar cadenas de texto en C++, tuvimos un método para copiar y pegar en nuestros proyectos muy fácil, pero cuando queremos hacer múltiples sustituciones podemos tener un problema: demasiadas llamadas a la función que producirán un código un poco feo…
Para ello podemos utilizar el contenedor map de C++ y crear la misma función replace() que creamos hace unos días, pero esta vez aceptando un mapa como argumento, así buscaremos en cada una de las claves, y lo sustituiremos por cada uno de los valores que encontremos:
… Leer artículo completo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42#include <iostream>
#include <string>
#include <map>
using namespace std;
string replace(string source, std::map<string,string>strMap, int offset=0, int times=0)
{
int total = 0;
string::size_type pos;
for (std::map<string, string>::iterator i=strMap.Crear un archivo PHP que sólo contenga un array (desde un programa PHP)
Aunque puede parecer redundante, pero es una idea curiosa. Sobre todo cuando creamos un sitio web con muchas opciones. Tenemos varias opciones:
- Guardarlas en base de datos. Con lo cual cada página que carguemos tiene que hacer una petición, y si hay muchas visitas podemos saturar el sistema. Además una petición es una tarea un poco lenta
- Guardarlas en un archivo de texto. Por lo que tendremos que hacer un programa que lea el fichero y lo interprete.
Caché+Compresión+Palabras clave en ficheros CSS y JS
Cuando nos aventuramos en un proyecto web con más o menos visitas, queremos que sea lo más rápido para el usuario y para ello enviar la menor cantidad de información (si nuestro hosting nos cobra además por transferencia también ganamos por esto), para ello podemos comprimir la información (y ya lo soportan la mayoría de los navegadores).
Aunque tenemos que tener en cuenta que si comprimimos información (la compresión es un proceso algo pesado), estamos gastando recursos de CPU que, si lo pensamos, estar comprimiendo la misma información a cada petición que nos hagan de un fichero Javascript es tontería; por tanto, una vez que lo comprimamos, lo almacenamos en disco, que este tipo de información no ocupa tanto.… Leer artículo completo
Últimos comentarios