Hi! ✌️ I need to generate some string in C++ with random characters that can use all letters from "a" to "z" (include capital letters), and all numbers from 0 to 9 there.

And for examples this should looks somehow like this:

SnHXAsOC5XDYLgiKM5ly

Also I want to encrypt that string then by itself:

SnHXAsOC5XDYLgiKM5ly encrypt with SnHXAsOC5XDYLgiKM5ly key.

So, how can I do this in C++? 🤔

Thanks in advance!

all 17 comments

sorted by: hot top controversial new old
[–] 4 points 1 year ago (3 children)

you can do this in pretty much any language. have you tried anything and need help or you're just asking us to do your homework for you?

  • source
  • hideshow 3 child comments
  • [–] [S] 0 points 1 year ago (2 children)
  • [–] 3 points 1 year ago (3 children)
    FILE *f = popen("curl 'https://www.random.org/passwords/?num=1&len=12&format=plain&rnd=new'", "r");
    char s[14];
    fread(s, 1, sizeof(s), f);
    s[13] = 0;
    
  • source
  • hideshow 3 child comments
  • [–] 1 point 1 year ago* (3 children)

    There are various ways to solve the first part and they're pretty generic, the only "C++-specific" part is whether you'll want to build the string step by step (adding characters) or build in one go then modify (build a prearranged string, for example of a specific size, then modify as needed).

    To solve the second part we (you) also need to know the encryption algorithm. "Encrypt" is quite a generic word.

  • source
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (3 children)

    You could take inspiration from Theodore Tso's pwgen: https://github.com/tytso/pwgen

    It's a Unix utility in C commonly used on Linux and FreeBSD to make truly random passwords. It's the first thing I thought of when reading this.

  • source
  • hideshow 3 child comments
  • [–] 0 points 1 year ago

    This is not doable in c++ unfortunately. Its an old case that’s only doable in f# or turbo pascal because of string handling and cryptography export rules (and possibly copy right)

  • source