RosettaCodeData/Task/SQL-based-authentication/00-TASK.txt

17 lines
766 B
Plaintext

This task has three parts:
* Connect to a [[MySQL]] database (<tt>connect_db</tt>)
* Create user/password records in the following table (<tt>create_user</tt>)
* Authenticate login requests against the table (<tt>authenticate_user</tt>)
This is the table definition:
<syntaxhighlight lang="sql">create table users (
userid int primary key auto_increment,
username varchar(32) unique key not null,
pass_salt tinyblob not null,
-- a string of 16 random bytes
pass_md5 tinyblob not null
-- binary MD5 hash of pass_salt concatenated with the password
);</syntaxhighlight>
(<tt>pass_salt</tt> and <tt>pass_md5</tt> would be <tt>binary(16)</tt> values, but MySQL versions before 5.0.15 strip trailing spaces when selecting them.)