Говорить особо нечего, для хеширования пароля самое то.
API:
- bcrypt_hash (playerid, const callback [], const input [], cost, const args [] = "", {Float, _}: ...)
-
playerid
- id игрока -
callback[]
- обратный вызов для выполнения после хеширования -
input[]
- строка в хеш -
cost
- коэффициент работы (4 - 31) -
args
- нестандартные аргументы
Использование:
main(){ bcrypt_hash(playerid,"OnPassswordHash","text",12); } forward OnPassswordHash(playerid); public OnPassswordHash(playerid){ //hashing completed }
- bcrypt_get_hash(dest[],size = sizeof(hash))
-
dest[]
- строка для хранения хешированных данных -
size
- максимальный размер целевой строки
Использование:
main(){ bcrypt_hash(playerid,"OnPassswordHash","text",12); } forward OnPassswordHash(playerid); public OnPassswordHash(playerid){ new dest[60]; bcrypt_get_hash(dest); printf("hash : %s",dest); }
- bcrypt_verify(playerid,callback[],input[],hash[])
-
playerid
- id игрока -
callback[]
- обратный вызов для выполнения после хеширования -
input[]
- текст для сравнения с хешем -
hash[]
- хеш для сравнения с текстом
Использование:
main(){ bcrypt_hash(playerid,"OnPassswordHash","text",12); } forward OnPassswordHash(playerid); public OnPassswordHash(playerid){ new dest[60]; 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)
value
- количество рабочих потоков за раз
Использование:
main(){ bcrypt_set_thread_limit(3); }
Страница на гитхаб: клик ( кликабельно )
Пожаловаться