C++ generare password casuali

Codice C++ per un generatore di password casuali. Non ho trovato un modo più facile per incollarlo tramite codice HTML per evidenziare le parole chiave.

Le opzioni prevedono lunghezza libera e password con e senza caratteri speciali.

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

static const char alphanum[] =
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"!@#$%^&*";

static const char carattere_speciale[]=
"!@#$%^&*";

int size = sizeof(alphanum) - 1;

int main()
{
    //stabilire la lunghezza della password
    int lunghezza;
    cout << "Quanti caratteri deve avere la password?" << endl;    
    cin >> lunghezza;

 
    //utilizzo di caratteri speciali
    char scelta = 's';
    do{
        cout << "Usa caratteri speciali? (s/n)" << endl;         cin >> scelta;
    }
    while ((scelta != 's') && (scelta != 'n'));
    
    //genera la password
    bool f_special = false;
    char c = 'a';
    
    switch (scelta){
        case ('s'):
            srand(time(0));
            for(int i = 0; i < lunghezza; i++)
            {
                c = alphanum[rand() % (size)];

                if(c =='!' || c=='@' || c=='#' || c=='$' || c=='%' || c=='^' || c=='&' || c=='*')
                    f_special = true;

                if((i == lunghezza-1) && (f_special == false))
                {
                    c = carattere_speciale[rand() % 7];
                    cout << c;
                }
                    else
                    cout << c;
            }
            break;
        
        case ('n'):   
            srand(time(0));
            for(int i = 0; i < lunghezza; i++)
        {
            cout << alphanum[rand() % (size-8)];
        }
            break;
        default:
            cout << "ERRORE" << endl;   
    }
    
    //evitare la scomparsa della console
    cout << endl;
    cin.get();
    cin.get();
    return 0;
}


Drones and satellite observations. Biodiversity and LiDAR.

There are satellites constantly observing every single part of planet Earth. Some of them with a resolution of about a meter, military ones even less. Sometimes they are single objects, other times they form constellations. ESA Copernicus Program is based on a constellation of satellites called Sentinels.  

FA (TS Author)
Considering the price for same images you wonder if a drone cannot do the same or better for less money.

LO
This is a good question, but I imagine drones would have to fly higher than is currently permitted in order to do useful imaging, making them a serious hazard to passenger aviation. As far as I’m concerned, the fewer drones in the sky, the better.

No doubt drones could become dangerous if not used properly. Still following rigorous rules they could become a resource being complementary to satellite data. 

FA (TS Author)
It depends on how vast is the observed area. Drones cannot compete with satellite when it comes to global observations. Still a city or a small agricultural region could be well covered. Since we have helicopters that fly over cities I think drones will be little hazard for civil aviation. Obviously we speak about a few drones per city not millions of them 🙂

ND
Probably. But you have to be physically near your AOI. The municipality where I live does a lot of its urban planning photography from a balloon. I don’t know about the economics of IR sensors, either. I can’t imagine they are cheap or easy to replace if you land your drone in the river.

Particularly drones based on LiDAR (Light Detection and Ranging) technology able to analyse the biodiversity of a region by mapping the distribution of plants in a forest. They are much more then simple IR sensors. Though IR could also provide great information on vegetation.

LiDAR combined with new 3D and autonomous cars diffusion could really become a fantastic combination for the future. You could find many videos on this technology and here I suggest one that may visually explain the concepts in this post.

Continua a leggere

Dottor Watson

Watson è la AI creata da IBM basata su reti neurali piuttosto che programmazione in stile tradizionale. Un sistema non più fondato sulla logica delle programmazione ma sulla “machine learning”, cioè la capacità della macchina di creare collegamenti tra concetti diversi.

Di recente è riuscito a identificare un tipo di leucemia rara e proporre un trattamento innovativo. Di fatto il computer basando le sue analisi su un database di medicina è riuscito a isolare e collegare la malattia rara con la miglior terapia.

Ci sono altri casi? Può darsi anche se non resi pubblici. Casi dove Watson potrebbe non essere stato altrettanto preciso.

Considerando però il caso reso pubblico, Watson migliorando potrebbe diventare quantomeno un buon assistente del medico che potrebbe non cogliere particolari importanti durante la formulazione della sua diagnosi.

Instabilità politica e armi atomiche. Base di Incirlik.

La base turca di Incirlik viene utilizzata dalla truppe NATO per le operazioni contro Isis. Di recente coinvolta anche nel tentativo di colpo di stato nella Turchia.

Da allora è stata più volte coinvolta in controlli oltre che blocchi della corrente elettrica.

E’ probabile che la base militare ospiti anche diverse testate nucleari nell’ambito della condivisione nucleare tra i paesi NATO. Un programma che mira alla difesa dei membri dell’alleanza ma anche a limitare la necessità che tutti i paesi sviluppino programmi di armamento atomico.

A questo punto sorge un problema riguardo alla sicurezza di queste armi. Come nel caso della Turchia i paesi possono andare incontro a instabilità politica. Chi è a questo punto autorizzato a gestire queste armi e secondo quale criterio si può pensare che lo faccia in buona fede? Soprattutto se nel caso di fallimento si prendano decisioni disperate.