44 minutes ago
(This post was last modified: 6 minutes ago by NullSablex.)
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
Criptografia para SA-MP e open.mp, escrita em Rust
Cryptography for SA-MP and open.mp, written in Rust
Download · GitHub · Documentação
PT: 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).
EN: 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 — PT: hash de dados, saída em hexadecimal / EN: data digests, hex output
- HMAC-SHA-256 e HMAC-SHA-512 — PT: assinar e verificar mensagens com chave, comparação em tempo constante / EN: sign and verify, constant-time comparison
- Argon2id — PT: hash de senhas assíncrono, com salt aleatório e resultado por callback, sem travar o servidor / EN: 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
PT: 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.
EN: 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.
PT: Argon2id, na prática:
- PT: 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
- PT: Cada hash ou verify levou ~50 ms na minha máquina, em segundo plano; com 2 workers, cerca de 40 logins por segundo
- PT: Confira sempre o status no callback (CRYPTO_PASSWORD_OK) antes de usar o resultado — senão uma falha vira "senha errada"
PT: Ainda sem teste: Windows, servidor SA-MP de verdade e carga real com muitos jogadores.
EN: Not tested yet: Windows, an actual SA-MP server, real load.
Quero a opinião de vocês / Feedback wanted
PT: O plugin funciona, mas é uma pré-release: preciso de testadores que usem nos próprios servidores e contem como foi. Vale qualquer relato:
- PT: Desempenho — como se comporta no seu servidor, principalmente o Argon2id com vários jogadores logando
- PT: API — nomes, parâmetros e callbacks fazem sentido? Algo incomoda no dia a dia?
- PT: Custo do Argon2id — o padrão atende, ou vocês querem poder ajustar memória e iterações?
- PT: Bugs — qualquer coisa estranha, aqui no tópico ou nas issues
EN: 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.
PT: 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.
EN: 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.
PT: Projeto independente, sob Apache-2.0. Não é afiliado ao SA-MP nem ao open.mp.
EN: Independent project, Apache-2.0. Not affiliated with SA-MP or open.mp.
