• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Plugin] pawn-crypto — criptografia em Rust para SA-MP e open.mp (pré-release)
#1
? pawn-crypto 0.1.0-alpha.1

Criptografia para SA-MP e open.mp, escrita em Rust
Cryptography for SA-MP and open.mp, written in Rust


Download · GitHub · Documentação



?? Primeira pré-release do pawn-crypto. O mesmo binário funciona como plugin no SA-MP e como componente nativo (ou plugin legado) no open.mp, em Linux e Windows (32 bits).

?? First pre-release of pawn-crypto. One binary works as a SA-MP plugin and as a native (or legacy) open.mp component, on Linux and Windows (32-bit).

✅ O que já é suportado / Supported now
  • SHA-224, SHA-256, SHA-384, SHA-512 — ?? hash de dados, saída em hexadecimal / ?? data digests, hex output
  • HMAC-SHA-256 e HMAC-SHA-512 — ?? assinar e verificar mensagens com chave, comparação em tempo constante / ?? sign and verify, constant-time comparison
  • Argon2id — ?? hash de senhas assíncrono, com salt aleatório e resultado por callback, sem travar o servidor / ?? asynchronous password hashing, random salts, callback results, no server stall

Code:
#include <crypto> // ou <crypto_omp> para Crypto_Sha256(...) new digest[CRYPTO_SHA256_LENGTH + 1]; crypto_sha256("abc", digest);



? O que já testei / What I tested

?? Num open.mp 1.6.7 (Linux), nos modos nativo e legado: todos os exemplos compilam sem aviso, e passaram 87 checks de SHA-2/HMAC e 320 checks de Argon2id — callbacks, senha certa e errada, fila cheia, dois scripts com o mesmo callback, descarregar o script com trabalho pendente.
?? On open.mp 1.6.7 (Linux), native and legacy modes: all examples compile cleanly; 87 SHA-2/HMAC checks and 320 Argon2id checks passed.

?? Argon2id, na prática:
  • ?? Usa os parâmetros recomendados pela OWASP: 19 MiB, 2 iterações, 1 via. Por enquanto são fixos — não há native para ajustá-los; o verify aceita hashes com outros parâmetros, dentro de um limite
  • ?? Cada hash ou verify levou ~50 ms na minha máquina, em segundo plano; com 2 workers, cerca de 40 logins por segundo
  • ?? Confira sempre o status no callback (CRYPTO_PASSWORD_OK) antes de usar o resultado — senão uma falha vira "senha errada"
?? Argon2id uses OWASP's recommended parameters (19 MiB, t=2, p=1), fixed for now; ~50 ms per operation on my machine, ~40 logins/s with 2 workers. Always check CRYPTO_PASSWORD_OK in the callback.

?? Ainda sem teste: Windows, servidor SA-MP de verdade e carga real com muitos jogadores.
?? Not tested yet: Windows, an actual SA-MP server, real load.



? Quero a opinião de vocês / Feedback wanted

?? O plugin funciona, mas é uma pré-release: preciso de testadores que usem nos próprios servidores e contem como foi. Vale qualquer relato:
  • ?? Desempenho — como se comporta no seu servidor, principalmente o Argon2id com vários jogadores logando
  • ?? API — nomes, parâmetros e callbacks fazem sentido? Algo incomoda no dia a dia?
  • ?? Custo do Argon2id — o padrão atende, ou vocês querem poder ajustar memória e iterações?
  • ?? Bugs — qualquer coisa estranha, aqui no tópico ou nas issues

?? It works, but it's a pre-release: I need testers to run it on their own servers and report back — performance (especially Argon2id under load), API ergonomics, bugs, anything.

?? Próximos passos: mais operações virão (como criptografia autenticada e conversões hex/Base64). Se ninguém relatar nada, sigo testando por conta própria e soltando versões novas aos poucos — mas com o retorno de vocês isso anda mais rápido e mais certo.
?? Next steps: more operations are coming (e.g. authenticated encryption, hex/Base64). If no one reports anything, I'll keep testing on my own and releasing new versions gradually — your feedback just makes it faster and better.



?? Projeto independente, sob Apache-2.0. Não é afiliado ao SA-MP nem ao open.mp.
?? Independent project, Apache-2.0. Not affiliated with SA-MP or open.mp.


  Reply