Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SampBcrypt

Build sampctl GitHub issues GitHub pull requests GitHub pull license

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 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, const callback[], const input[], cost, const args[] = "", {Float, _}:...)

    • playerid - id of the player
    • callback[] - callback to execute after hashing
    • input[] - string to hash
    • cost - work factor (4 - 31)
    • args[] - custom arguments

    Example

     main()
     {
     	bcrypt_hash(0, "OnPassswordHash", "text", BCRYPT_COST);
     }
    
     forward OnPassswordHash(playerid);
     public OnPassswordHash(playerid)
     {
     	// Hashing completed
     }
  • bcrypt_get_hash(dest[], size = sizeof(hash))

    • dest[] - string to store hashed data
    • size - 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 player
    • callback[] - callback to execute after hashing
    • input[] - text to compare with hash
    • hash[] - hash to compare with text
    • args[] - 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
     	}
     }
  • bcrypt_set_thread_limit(value)

    • value - number of worker threads at a time

    Example

     main()
     {
     	bcrypt_set_thread_limit(3);
     }

About

A bcrypt plugin for samp in Rust.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages