mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-07 12:01:50 +00:00
update crypto docs
This commit is contained in:
parent
c65b9ae385
commit
5391be4b8a
2 changed files with 33 additions and 42 deletions
|
|
@ -1,14 +1,6 @@
|
|||
# Библиотека *crypto*
|
||||
|
||||
Библиотека предоставляет основные криптографические функции для модов
|
||||
|
||||
TLS и HTTP в нее не входят. Эти протоколы используют crypto для тяжелых
|
||||
вычислений
|
||||
|
||||
Все бинарные значения передаются обычными Lua строками. Это касается ключей,
|
||||
подписей, хешей и зашифрованных данных. Строки могут содержать нулевые байты
|
||||
|
||||
Текущая версия API находится в `crypto.API_VERSION`
|
||||
Библиотека предоставляет основные криптографические функции
|
||||
|
||||
## Хеширование
|
||||
|
||||
|
|
@ -83,9 +75,6 @@ crypto.rsa_pss_verify(hash: str, modulus: str, exponent: str,
|
|||
Модуль и экспонента RSA передаются в big endian. Значение `salt_length = -1`
|
||||
использует размер хеша
|
||||
|
||||
Генерации RSA ключей в библиотеке нет. Для новых ключей проще использовать
|
||||
Ed25519
|
||||
|
||||
## Обмен ключами
|
||||
|
||||
```lua
|
||||
|
|
@ -124,8 +113,7 @@ AES GCM принимает ключи размером 16 или 32 байта
|
|||
|
||||
ChaCha20 Poly1305 использует ключ размером 32 байта и nonce размером 12 байт
|
||||
|
||||
В конец зашифрованных данных добавляется тег размером 16 байт. При неверном
|
||||
теге функция расшифровки ничего не возвращает
|
||||
В конец зашифрованных данных добавляется тег размером 16 байт
|
||||
|
||||
Нельзя повторно использовать один nonce с тем же ключом
|
||||
|
||||
|
|
@ -149,8 +137,7 @@ crypto.features() -> table
|
|||
Для хранения паролей следует использовать scrypt или PBKDF2 со случайной
|
||||
солью. Обычный SHA256 для паролей не подходит
|
||||
|
||||
`features` возвращает версию OpenSSL и список доступных возможностей. Это
|
||||
можно использовать если мод запускается на разных сборках движка
|
||||
`features` возвращает версию OpenSSL и список доступных возможностей
|
||||
|
||||
Неверная подпись возвращает `false, "invalid_signature"`
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue