| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/local/vesta/php/bin/php
- <?php
- //# info: generate password hash
- //# options: HASH-METHOD SALT PASSWORD
- //
- //# The function generates password hash
- // Checking arguments
- if ((empty($argv[1])) || (empty($argv[2]))) {
- echo "Error: not enought arguments\n";
- echo "Usage: " . $argv[0] ." HASH-METHOD SALT PASSWORD\n";
- exit(1);
- }
- $crypt = $argv[1];
- $salt = $argv[2];
- if (empty($argv[3])) {
- $password = file_get_contents("php://stdin");
- $password = str_replace("\n",'',$password);
- } else {
- $password = $argv[3];
- }
- // Generating MD5 hash
- if ($crypt == 'md5' ) {
- $hash = crypt($password, '$1$'.$salt.'$');
- }
- // Generating SHA-512 hash
- if ($crypt == 'sha-512' ) {
- $hash = crypt($password, '$6$rounds=5000$'.$salt.'$');
- $hash = str_replace('$rounds=5000','',$hash);
- }
- // Generating base64 hash
- if ($crypt == 'htpasswd' ) {
- $hash = crypt($password, base64_encode($password));
- }
- // Generating DES hash
- if ($crypt == 'des' ) {
- $hash = crypt($password, $salt);
- }
- // Printing result
- echo $hash . "\n";
|