samp-bcrypt
samp-bcrypt copied to clipboard
A bcrypt plugin for samp in Rust.
SampBcrypt
A bcrypt plugin for samp in Rust.
Installation
sampctl
If you are a sampctl user
sampctl install Sreyas-Sreelal/samp-bcrypt
OR
- Download suitable binary files from releases for your operating system
- Add it your
pluginsfolder - Add
samp_bcryptto server.cfg orsamp_bcrypt.so(for linux) - Add samp_bcrypt.inc in includes folder
Building
-
Clone the repo
git clone https://github.com/Sreyas-Sreelal/samp-bcrypt.git -
Setup testing server
make setup -
Build using makefile
make releasefor release buildsmake debugfor debug builds -
Run the tests
make run
API
-
bcrypt_hash(playerid, const callback[], const input[], cost, const args[] = "", {Float, _}:...)
playerid- id of the playercallback[]- callback to execute after hashinginput[]- string to hashcost- work factor (4 - 31)args[]- custom arguments
Example
ain() bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); orward OnPassswordHash(playerid); ublic OnPassswordHash(playerid) // Hashing completed -
bcrypt_get_hash(dest[], size = sizeof(hash))
dest[]- string to store hashed datasize- max size of dest string
Example
ain() bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); orward OnPassswordHash(playerid); ublic OnPassswordHash(playerid) new dest[BCRYPT_HASH_LENGTH]; bcrypt_get_hash(dest); printf("hash : %s", dest); -
bcrypt_verify(playerid, const callback[], const input[], const hash[], const args[] = "", {Float, _}:...)
playerid- id of the playercallback[]- callback to execute after hashinginput[]- text to compare with hashhash[]- hash to compare with textargs[]- custom arguments
Example
ain() bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); orward OnPassswordHash(playerid); ublic OnPassswordHash(playerid) new dest[BCRYPT_HASH_LENGTH]; bcrypt_get_hash(dest); bcrypt_verify(playerid, "OnPassswordVerify", "text", dest); orward OnPassswordVerify(playerid, bool:success); ublic OnPassswordVerify(playerid, bool:success) // success denotes verifying was successful or not if (success) { // Verified } else { // Hash doesn't match with text } -
bcrypt_set_thread_limit(value)
value- number of worker threads at a time
Example
ain() bcrypt_set_thread_limit(3);