Files
SHiNE-server/shine-server-config/src/main/java/utils/config/ShineSignatureConstants.java
T
AidarKC f1af2bd4d4 07 01 25
вынес константы SHiNe
2026-01-08 00:02:43 +03:00

34 lines
1.6 KiB
Java

package utils.config;
/**
* ShineSignatureConstants — строковые префиксы/домены, входящие в подписываемые сообщения.
*
* ВАЖНО:
* - префикс добавляется в начало "чтобы подпись нельзя было переиспользовать" между разными типами сообщений.
* - менять значения после релиза нельзя, иначе старые подписи перестанут проверяться.
*/
public final class ShineSignatureConstants {
private ShineSignatureConstants() {}
/** Подписываемые данные параметра пользователя: prefix + login + param + time_ms + value */
public static final String USER_PARAMETER_PREFIX = "SHiNe/UserParameter:";
/** TAG в HeaderBody (genesis). ASCII "SHiNe". */
public static final String BLOCKCHAIN_HEADER_TAG = "SHiNe";
/** DOMAIN для preimage при расчёте hash32 блока. ASCII "SHiNe". */
public static final String BLOCK_HASH_DOMAIN = "SHiNe";
// ===================== Фиксированные размеры =====================
/** Длина SHA-256 хэша, который хранится в блоке. */
public static final int HASH32_LEN = 32;
/** Длина подписи Ed25519, которая хранится в блоке. */
public static final int SIGNATURE64_LEN = 64;
/** Длина публичного ключа Ed25519. */
public static final int ED25519_PUBLIC_KEY32_LEN = 32;
}