Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mhash_keygen_s2k(3) [php man page]

MHASH_KEYGEN_S2K(3)							 1						       MHASH_KEYGEN_S2K(3)

mhash_keygen_s2k - Generates a key

SYNOPSIS
string mhash_keygen_s2k (int $hash, string $password, string $salt, int $bytes) DESCRIPTION
Generates a key according to the given $hash, using an user provided $password. This is the Salted S2K algorithm as specified in the OpenPGP document (RFC 2440). Keep in mind that user supplied passwords are not really suitable to be used as keys in cryptographic algorithms, since users normally choose keys they can write on keyboard. These passwords use only 6 to 7 bits per character (or less). It is highly recommended to use some kind of transformation (like this function) to the user supplied key. PARAMETERS
o $hash - The hash ID used to create the key. One of the MHASH_hashname constants. o $password - An user supplied password. o $salt - Must be different and random enough for every key you generate in order to create different keys. Because $salt must be known when you check the keys, it is a good idea to append the key to it. Salt has a fixed length of 8 bytes and will be padded with zeros if you supply less bytes. o $bytes - The key length, in bytes. RETURN VALUES
Returns the generated key as a string, or FALSE on error. PHP Documentation Group MHASH_KEYGEN_S2K(3)

Check Out this Related Man Page

HASH_PBKDF2(3)								 1							    HASH_PBKDF2(3)

hash_pbkdf2 - Generate a PBKDF2 key derivation of a supplied password

SYNOPSIS
string hash_pbkdf2 (string $algo, string $password, string $salt, int $iterations, [int $length], [bool $raw_output = false]) DESCRIPTION
PARAMETERS
o $algo - Name of selected hashing algorithm (i.e. md5, sha256, haval160,4, etc..) See hash_algos(3) for a list of supported algorithms. o $password - The password to use for the derivation. o $salt - The salt to use for the derivation. This value should be generated randomly. o $iterations - The number of internal iterations to perform for the derivation. o $length - The length of the output string. If $raw_output is TRUE this corresponds to the byte-length of the derived key, if $raw_output is FALSE this corresponds to twice the byte-length of the derived key (as every byte of the key is returned as two hexits). If 0 is passed, the entire output of the supplied algorithm is used. o $raw_output - When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits. RETURN VALUES
Returns a string containing the derived key as lowercase hexits unless $raw_output is set to TRUE in which case the raw binary representa- tion of the derived key is returned. ERRORS
/EXCEPTIONS An E_WARNING will be raised if the algorithm is unknown, the $iterations parameter is less than or equal to 0, the $length is less than 0 or the $salt is too long (greater than INT_MAX - 4). EXAMPLES
Example #1 hash_pbkdf2(3) example, basic usage <?php $password = "password"; $iterations = 1000; // Generate a random IV using mcrypt_create_iv(), // openssl_random_pseudo_bytes() or another suitable source of randomness $salt = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM); $hash = hash_pbkdf2("sha256", $password, $salt, $iterations, 20); echo $hash; ?> The above example will output something similar to: 120fb6cffcf8b32c43e7 NOTES
Caution The PBKDF2 method can be used for hashing passwords for storage. However, it should be noted that password_hash(3) or crypt(3) with CRYPT_BLOWFISH are better suited for password storage. SEE ALSO
crypt(3), password_hash(3), hash(3), hash_algos(3), hash_init(3), hash_hmac(3), hash_hmac_file(3). PHP Documentation Group HASH_PBKDF2(3)
Man Page

10 More Discussions You Might Find Interesting

1. Emergency UNIX and Linux Support

User Guide: Posting in the Emergency Forum

Emergency UNIX and Linux Support !! Help Me! Forum (Request Urgent Help) README FIRST: How to Request Emergency or Urgent Help: You may post emergency work-related questions in the emergency forum. To post in this forum you will need to use your Bits. All questions answered on a "best... (0 Replies)
Discussion started by: Neo
0 Replies

2. Homework & Coursework Questions

Rules for Homework & Coursework Questions Forum

Homework Help: On Posting Questions: Any and all high school and undergraduate homework assignments or textbook style exercises for which you are seeking assistance are to be posted only in our Homework & Coursework Questions area--not in blogs, visitor messages, PMs, or the main technical... (0 Replies)
Discussion started by: Neo
0 Replies

3. How to Post in the The UNIX and Linux Forums

Forum Video Tutorial: How to Use Code Tags

How to Use Code Tags in The UNIX and Linux Forums Developer: This video tutorial was created by scott for forum users. Everyone should use code tags when posting code and command line logic in the forums. cPF45jjWe7Q A full list of BB codes is available here. (8 Replies)
Discussion started by: Neo
8 Replies

4. UNIX for Beginners Questions & Answers

Simple rules of the UNIX.COM forums:

RULES OF THE UNIX AND LINUX FORUMS For the latest version of the community rules (the official community rules page), please visit here. No flames, shouting (all caps), sarcasm, bullying, profanity or arrogant posts. No negative comments about others or impolite remarks. Be patient. No... (1 Reply)
Discussion started by: Neo
1 Replies

5. What is on Your Mind?

New Code Tags (Syntax Highlighting)

Hey, Just added a new UserCP option so you can change the code tags to look like the code tags in this example (turn this on and off): Note: I set the default to "SyntaxHighlighting" for debugging purposes. We can change the default back to the original code tags later. ... (36 Replies)
Discussion started by: Neo
36 Replies

6. What is on Your Mind?

Status of UNIX.COM Forum Transformation

Having spent a lot of time over the past year taking a legacy vBulletin site (this forum) and making the site responsive on mobile; I've happy with the results; but it will soon be time to move on. Basically, at our core, we are a LAMP (Linux, Apache2, MySQL and PHP) site, and vBulletin was... (6 Replies)
Discussion started by: Neo
6 Replies

7. What is on Your Mind?

Please Welcome Ravinder Singh to the Moderation Team

On this special Happy News Year day, 1 January 2019, I am pleased to promote Ravinder Singh to UNIX.COM Moderator, for at least the following reasons: Ravinder Loves UNIX.COM Ravinder has 1,372 Thanks, which puts him in the Top Ten in that important single category. Ravinder is one of... (8 Replies)
Discussion started by: Neo
8 Replies

8. What is on Your Mind?

The Order of the Wizard's Hat - Lifetime Achievement Award 2019 - Congrats to Wolf Machowitsch

Please join me in congratulations to Wolf Machowitsch (bakunin) for his long overdue lifetime achievement award badge from UNIX.COM in computer wizardry: "The Order of the Wizard's Hat - Lifetime Achievement Award" This "Order of the Wizard's Hat" is presented to Wolf Machowitsch (bakunin)... (11 Replies)
Discussion started by: Neo
11 Replies

9. What is on Your Mind?

Denial Of Service Attack Update

Dear All, We were hit with a denial of service (DOS) attack today beginning around June 12th 2019 @ 01:27:51 PM from an IP address registered to "RACKWEB-NET" in Bulgaria. I was notified about this around June 12th 2019 @ 03:05 PM and did some log file analysis and discovered how the attack... (4 Replies)
Discussion started by: Neo
4 Replies

10. What is on Your Mind?

Please Welcome Nicki Paul to the Moderator Team!

Dear All, I am very pleased to inform everyone that Nicki Paul (zxmaus) is joining the Moderation Team after a number of years away from the site. Nicki used to be very active here (over 800 posts), and she got busy with travel, work, family and her dogs, and we have missed her. Now she is... (7 Replies)
Discussion started by: Neo
7 Replies