As i mentioned before it does have at least one lame attribute, it tends to give email addresses very high total rating (all green!).
I know very little about those checkers/encoders/whatever. Is there a password generator that will produce a randumb string (given limits, say no special characters and not longer than specified vale)?
PS, Just after I replied I decided to keep the fingers moving and wrote a simple password generator in See:
formatting link
It does exactly what I wrote, see below, and I also added a check for /dev/random being not some hack and a file.
This is Linux software, unpack with tar -zxvf passgen-0.1.tgz make make install
Run: ~ # passgen read 99 of 100 bytes, please wait ready, your password is
7hrCv98P
It takes a minute or 2 to get enough randomness.
It is version 0.1 and I wrote it in a few frmtoseconds, so YMMV. also do not use THIS password for anything. Make your own and one for each application.
Check the source code for any secret commi-nukations.
I would write that code myself, to make sure "the NSA hasn't compromised the randomness" :-)
Then I would pick up some extra tinfoil hats at the TinFoil Hat store.
#include /* gcc -o mypassword.exe mypassword.c */
int main(int argc, char *argv[]) { if (argc != 2) { printf("Mypassword.exe RandomSeedString\n"); printf("Generate password based on random seed string\n"); return 1; } printf("\nYour new password is: %s\n", argv[1]); return 0; }
Your result is only limited by your own imagination.
mypassword.exe abcd1234
Your new password is: abcd1234
And, "I did it with a computer" (tip of the hat to the Patent Department).
*******
Using stepwise refinement, we try again. Still no rands, mersenne twisters, or the like.
int main() { /* Define your allowed alphabet here. String length prime ? */ char a[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678"; int len = strlen(a); /* modulo, but subtract one when used as index */ __int64 time1; int i,j,k,m; char c[2048]; /* OK, already, you can stop typing now... */
if (!QueryPerformanceCounter((LARGE_INTEGER *)&time1)) { printf("QueryPerformanceCounter failed\n"); return 1; }
printf("Enter as many letters as the length of the desired\n"); printf("password, followed by Enter key. The time when each\n"); printf("letter is entered, is the random factor selecting\n"); printf("the letter used\n\n"); printf("Current alphabet has %d character choices\n\n", len);
j=k=0;
while ( (m = getch()) != 13 ) { QueryPerformanceCounter((LARGE_INTEGER *)&time1); /* Try to remove systematic bias in sample times using time scales */ i = ( (time1 >> 16) ^ (time1 >> 8) ^ time1 ) % len; c[j] = a[i-1]; j++; printf("%c", m); /* tactile feedback saved for last */ }
printf("\n\nYour password is: "); while (j > 0) { printf("%c", c[k]); j--; k++; } printf("\n"); }
Paul (who is not a programmer and never took Krypto in HighSkool)
Try Diceware. Good randomness, easy to remember, impossible to backdoor.
Cheers
Phil Hobbs
--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC / Hobbs ElectroOptics
Optics, Electro-optics, Photonics, Analog Electronics
Briarcliff Manor NY 10510
http://electrooptical.net
http://hobbs-eo.com
--
Don Kuenz KB7RPU
There was a young lady named Bright Whose speed was far faster than light;
She set out one day In a relative way And returned on the previous night.
That password's a little long and it needs some digits. A better password may be something along the lines of:
In 2019 DLU said he's Coxmaul!
Although some systems do not accommodate passwords with spaces many ?most? do. Using an easily remembered sentence with the usual mix of special characters, caps, and digits works for me.
Thank you, 73,
--
Don Kuenz KB7RPU
There was a young lady named Bright Whose speed was far faster than light;
She set out one day In a relative way And returned on the previous night.
Not to bad. By replacing one randomly chosen character with a random digit, you can almost always make an improvement, especially more green bars with
formatting link
Fiddling with which character to replace might give slight added improvement. That last line is the best at 78%, 4 green bars. Randomly chose the w for a digit gives 80% 5 green bars.
int main() { /* Define your allowed alphabet here. */ char a[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678"; int len = strlen(a); /* modulo */ __int64 time1; int i,j,k,m; char c[2048];
if (!QueryPerformanceCounter((LARGE_INTEGER *)&time1)) { printf("QueryPerformanceCounter failed\n"); return 1; }
printf("Enter as many letters as the length of the desired\n"); printf("password, followed by Enter key. The time when each\n"); printf("letter is entered, is the random factor selecting\n"); printf("the letter used\n\n"); printf("Current alphabet has %d character choices\n\n", len);
j=k=0;
while ( (m = getch()) != 13 ) { QueryPerformanceCounter((LARGE_INTEGER *)&time1); /* Try to remove systematic bias in sample times using time scales */ i = ( (time1 >> 16) ^ (time1 >> 8) ^ time1 ) % len; c[j] = a[i]; /* modulo has the right range, fixed */ j++; printf("%d ", i); /* choice feedback */ }
printf("\n\nYour password is: "); while (j > 0) { printf("%c", c[k]); j--; k++; } printf("\n"); }
*******
Sample output:
L:\>mypassword2 Enter as many letters as the length of the desired password, followed by Enter key. The time when each letter is entered, is the random factor selecting the letter used
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.