jhoncorella / srphash
这个小型库旨在简化将SHA-256哈希系统嵌入到SA-MP游戏模式Super RolePlay 2中以允许Web访问账户的过程。简而言之,此插件旨在简化登录创建过程。尽管对许多人来说这项任务很简单,但很多人在Web部分进行哈希处理时都会遇到问题。总之,这个库允许用户使用与在SA-MP服务器上相同的密码从Web端简单、高效地访问。
1.0.1
2024-01-17 18:13 UTC
Requires
- php: >=8.0.28
README
SrpHash
库是一个小型且简单的项目,针对SA-MP社区,特别是那些使用SRP或Super RolePlay 2基模式的人。作为其社区的基础项目,这个库为您处理哈希和密码验证过程。虽然对许多人来说这项任务很简单,但很多人在Web部分进行哈希处理时都会遇到问题。总之,这个库允许用户使用与在SA-MP服务器上相同的密码从Web端简单、高效地访问。
类:SrpHash
属性
$salt
(字符串): salt 应接收 'player' 表中 "salt" 列的值。$insertedPassword
(字符串): insertPassword 应接收用户在登录表单中输入的密码。$storedPasswordHash
(字符串): storedPasswordHash 应接收 'player' 表中 "pass" 列的值。
构造函数
/** * Constructor SrpHash. * * @param string $salt Salt único utilizado para el hashing de contraseñas. * @param string $insertedPassword La contraseña proporcionada por el usuario durante el inicio de sesión. * @param string $storedPasswordHash La contraseña hash almacenada en la base de datos. */ public function __construct(string $salt, string $insertedPassword, string $storedPasswordHash);
函数
*generateHash(); - **`generateHash();`** Hash la contraseña ingresada por el usuario usando el método sha-256. combinando la sal almacenada en la base de datos con la contraseña.
*validatePassword(); - **`validatePassword();`** Comprueba si la contraseña insertada en el momento del hash coincide con la contraseña que ya está hasheada en la base de datos. Si es así devuelve "Success", pero si no coinciden devolverá error"Error", todo en formato json
示例
*Example $salt = 'your_unique_salt';//Debes obtener el salt que tiene la cuenta insertada directamente de la base de datos al igual que la contraseña. $insertedPassword = 'user_password'; //Esta será la contraseña que obtendrás cuando el usuario envíe su formulario, es decir, es la contraseña insertada por el usuario. $storedPasswordHash = 'hashed_password'; // variable que almacenará la contraseña ya codificada en su base de datos. // Aquí simplemente creas la instancia y llamas a esta cosa fea. $srpHash = new SrpHash($salt, $insertedPassword, $storedPasswordHash); // Solo con esta cosita hermosa puedes realizar una verificación y ver si la contraseña hash corresponde a la almacenada. $result = $srpHash->validatePassword();