Description\n-----------\n\n The KDF function is pbkdf2 (supported by everything, including windows native, Java, javascript, PHP, .NET.\n Parameters to the pbkdf2 are stored in with authentication plugin data : hash function (SHA512,SHA256), iteration count, salt, key_length, together with derived key = PBKDF2(func, password, salt, iteration_count, key_length).\n The number of iterations is a power of 2, greater than 9.\n The algorithm is ed25519, "hash" is the public key generated using ed25519 from the PBKDF2(password).\n\nThe authentication string, stored by the server, is this:\n\n``c\nconcat('P', conv(log2(iterations)-10, 10, 62), ':', base64(salt), ':', base64(hash))\n`\n\nFor example, it looks like this: P0:WW9sXaaL/o:vubFBzIrapbfHct1/J72dnUryz5VS7lA6XHH8sIx4TI\n\n It consists of colon-separated fields.\n The first field is 'P' (denotes KDF algorithm = PBKDF2) and the number of iterations, '0' means 1024, '1' means 2048, etc.\n This is followed by the salt.\n This is followed by the password hash.\n\nThe first two fields together are called _ext-salt_, extended salt.\n\nLogin Process, Packet Exchange\n\n1. The server sends an Authentication Switch Request with a 32-byte random scramble.\n2. The client sends an empty packet to the server to request the ext-salt.\n3. The server sends the ext-salt to the client.\n4. The client sends the random 32-byte scramble, and the concat(server scramble, client scramble) ed25519-signed by a secret key generated from the function PBKDF2(password, ext-salt).\n5. The server replies with "ok" or "access denied".\n\nInstalling\n\nIf you run into the error ERROR 1524 (HY000): Plugin 'parsec' is not loaded it means you need to install the authentication plugin first. You can do it on a running server with:\n\n`sql\nINSTALL SONAME 'auth_parsec';\n`\n\nThere is no need to pass additional command-line options or have config files to keep the PARSEC authentication method available. Running the INSTALL SONAME` once is enough and the MariaDB Server will remember it even if server is restarted or upgraded.\n\nExamples\n--------\n\nCREATE USER test1@'%' IDENTIFIED VIA parsec USING PASSWORD('pwd');\n\nURL: https://mariadb.com/docs/server/reference/plugins/authentication-plugins/authentication-plugin-parsec