SampBcrypt






A bcrypt plugin for samp in Rust.
Installation
sampctl
If you are a sampctl user
sampctl p install Sreyas-Sreelal/samp-bcrypt
OR
Download suitable binary files from releases for your operating system
Add it your plugins folder
Add samp_bcrypt to server.cfg or? samp_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 release for release builds
make debug for debug builds
Run the tests
make run
API
bcrypt_hash(playerid,callback[],input[],cost)
playerid - id of the player
callback[] - callback to execute after hashing
input[] - string to hash
cost - work factor (4 - 31)
Example
main(){
bcrypt_hash(0,"OnPassswordHash","text",12);
}
forward OnPassswordHash(playerid);
public OnPassswordHash(playerid){
//hashing completed
}
bcrypt_get_hash(dest[],size = sizeof(hash))
Example
main(){
bcrypt_hash(0,"OnPassswordHash","text",12);
}
forward OnPassswordHash(playerid);
public OnPassswordHash(playerid){
new dest;
bcrypt_get_hash(dest);
printf("hash : %s",dest);
}
bcrypt_verify(playerid,callback[],input[],hash[])
playerid - id of the player
callback[] - callback to execute after hashing
input[] - text to compare with hash
hash[] - hash to compare with text
Example
main(){
bcrypt_hash(0,"OnPassswordHash","text",12);
}
forward OnPassswordHash(playerid);
public OnPassswordHash(playerid){
new dest;
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){
//verfied
} else{
//hash doesn't match with text
}
}
bcrypt_set_thread_limit(value)
Example
main(){
bcrypt_set_thread_limit(3);
}