SHA256
17 12 25
Промежуточная версия
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# utils.crypto
|
||||
|
||||
Пакет отвечает за криптографию — подписи и хэши блоков.
|
||||
Используется при создании и проверке целостности `.bch`-блоков.
|
||||
|
||||
---
|
||||
|
||||
## Классы
|
||||
|
||||
### **Ed25519Util**
|
||||
Работает с подписями Ed25519.
|
||||
Методы:
|
||||
- `generatePrivateKey()` — создать приватный ключ (32 байта)
|
||||
- `generatePrivateKeyFromString(String)` — детерминированный ключ из строки
|
||||
- `derivePublicKey(byte[32])` — получить публичный ключ (32 байта)
|
||||
- `sign(byte[], byte[32])` — подписать данные (64-байтная подпись)
|
||||
- `verify(byte[], byte[64], byte[32])` — проверить подпись
|
||||
|
||||
### **HashUtil**
|
||||
Вычисляет SHA-256.
|
||||
Методы:
|
||||
- `sha256(byte[])` → `[32]` — вернуть хэш массива
|
||||
- `Sha256` — вложенный класс для пошагового хэширования
|
||||
|
||||
### **BchCryptoVerifier**
|
||||
Проверяет подпись и хэш блока перед записью в блокчейн.
|
||||
Методы:
|
||||
- `verifyAll(userLogin, blockchainId, prevHash32, rawBytes, signature64, hash32, publicKey32)`
|
||||
→ `true/false` — корректна ли подпись и хэш
|
||||
- `buildPreimage(...)` — собирает байты, которые подписываются:
|
||||
Reference in New Issue
Block a user