A bcrypt plugin for samp in Rust.
If you are a sampctl user
sampctl install Sreyas-Sreelal/samp-bcrypt
- Download suitable binary files from releases for your operating system
- Add it your
plugins
folder - Add
samp_bcrypt
to server.cfg orsamp_bcrypt.so
(for linux) - Add samp_bcrypt.inc in includes folder
-
Clone the repo
git clone https://github.com/Sreyas-Sreelal/samp-bcrypt.git
-
Setup testing server
make setup
-
Build using makefile
make release
for release buildsmake debug
for debug builds -
Run the tests
make run
-
playerid
- id of the playercallback[]
- callback to execute after hashinginput[]
- string to hashcost
- work factor (4 - 31)args[]
- custom arguments
Example
main() { bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); } forward OnPassswordHash(playerid); public OnPassswordHash(playerid) { // Hashing completed }
-
dest[]
- string to store hashed datasize
- max size of dest string
Example
main() { bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); } forward OnPassswordHash(playerid); public 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
main() { bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST); } forward OnPassswordHash(playerid); public OnPassswordHash(playerid) { new dest[BCRYPT_HASH_LENGTH]; bcrypt_get_hash(dest); bcrypt_verify(playerid, "OnPassswordVerify", "text", dest); } forward OnPassswordVerify(playerid, bool:success); public OnPassswordVerify(playerid, bool:success) { // success denotes verifying was successful or not if (success) { // Verified } else { // Hash doesn't match with text } }
-
value
- number of worker threads at a time
Example
main() { bcrypt_set_thread_limit(3); }