[PHP-WIN] openssl_pkey_new does not seem to generate a new key
php 4.3.10, openssl-0.9.6m OPENSSL_CONF,SSLEAY_CONF environmental variable has been set $opensslconf); $privkey = openssl_pkey_new($config); while ($msg = openssl_error_string()) echo $msg . "\n"; openssl_pkey_export($privkey, $keydata); echo $keydata; ?> the php execute result: error:02001003:system library:fopen:No such process error:2006D002:BIO routines:BIO_new_file:system lib error:0E064002:configuration file routines:CONF_load:system lib -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-WIN] openssl_pkey_new does not seem to generate a new key
php 4.3.10, openssl-0.9.6m OPENSSL_CONF,SSLEAY_CONF environmental variable has been set $opensslconf); $privkey = openssl_pkey_new($config); while ($msg = openssl_error_string()) echo $msg . "\n"; openssl_pkey_export($privkey, $keydata); echo $keydata; ?> the php execute result: error:02001003:system library:fopen:No such process error:2006D002:BIO routines:BIO_new_file:system lib error:0E064002:configuration file routines:CONF_load:system lib -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-WIN] what's wrong with this while loop?
Following my code is to write a 15digit random generated password into a file named test.txt. I was trying to keep it random generating 100 passwords and be written into test.txt by using a while loop, however, the result is strange. Take a look at the code (most of it is from php.net) and what's wrong with this while loop? besides, if I generate a large sum of passwords,say 50 million, will it be repetitive? Thank you! http://svr/rand.php";> */ $length= 15; $sum = 100; $key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $rand_max = strlen($key_chars) - 1; $filename = 'test.txt'; $tot=0; while($tot < $sum){ for ($i = 0; $i < $length; $i++){ $rand_pos = rand(0, $rand_max); $rand_key[] = $key_chars{$rand_pos}; } $rand_pass = implode('', $rand_key); $somecontent = "$tot $rand_pass\n"; echo $somecontent; $filename = 'test.txt'; // Let's make sure the file exists and is writable first. if (is_writable($filename)) { // In our example we're opening $filename in append mode. // The file pointer is at the bottom of the file hence // that's where $somecontent will go when we fwrite() it. if (!$handle = fopen($filename, 'a')) { echo "Cannot open file ($filename)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, $somecontent) === FALSE) { echo "Cannot write to file ($filename)"; exit; } echo "Success, wrote ($somecontent) to file ($filename)"; fclose($handle); } else { echo "The file $filename is not writable"; } $tot++; } ?> -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-WIN] Re: what's wrong with this while loop?
the problem with your loop is that after php enters it, it can't get out because there is no break, nor a way to turn the expression to false. Normally, you have a loop which always evaluates to TRUE, and when it doesn't, you want to quit. And even when this is not how you did it, eg with while(true){ ... }, then you can bail out using break. However, you did none of those here. Your loop starts with while($tot < $sum) { [...] } and doesn't in any way modify the value of any of both inside the (double!) loop, nor does it ever break. So, you're stuck with an eternal loop as a result. Besdies that, I'm wondering what you need the while()-loop for anyway, since it's utterly useless in your code. An easier way would be to code it like this: $rand_pass = ''; for ($i = 0; $i < $length; $i++){ $rand_pos = rand(0, $rand_max); $rand_key .= $key_chars{$rand_pos}; } $somecontent = "new key: $rand_pass\n"; echo $somecontent; bo wrote: Following my code is to write a 15digit random generated password into a file named test.txt. I was trying to keep it random generating 100 passwords and be written into test.txt by using a while loop, however, the result is strange. Take a look at the code (most of it is from php.net) and what's wrong with this while loop? besides, if I generate a large sum of passwords,say 50 million, will it be repetitive? Thank you! http://svr/rand.php";> */ $length= 15; $sum = 100; $key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $rand_max = strlen($key_chars) - 1; $filename = 'test.txt'; $tot=0; while($tot < $sum){ for ($i = 0; $i < $length; $i++){ $rand_pos = rand(0, $rand_max); $rand_key[] = $key_chars{$rand_pos}; } $rand_pass = implode('', $rand_key); $somecontent = "$tot $rand_pass\n"; echo $somecontent; $filename = 'test.txt'; // Let's make sure the file exists and is writable first. if (is_writable($filename)) { // In our example we're opening $filename in append mode. // The file pointer is at the bottom of the file hence // that's where $somecontent will go when we fwrite() it. if (!$handle = fopen($filename, 'a')) { echo "Cannot open file ($filename)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, $somecontent) === FALSE) { echo "Cannot write to file ($filename)"; exit; } echo "Success, wrote ($somecontent) to file ($filename)"; fclose($handle); } else { echo "The file $filename is not writable"; } $tot++; } ?> -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php