Z3n8SAFU
class · пространство имён z3n7 · исходник Essentials/Safu8.cs
public class Z3n8SAFU : ISAFU
Реализация SAFU: AES-256-CBC с тегом HMAC-SHA256, ключи выводятся через PBKDF2-SHA256 (100 000 итераций). Соль берётся из файла ключа длиной 32 байта. ID машины — SHA-256 от ID процессора, серийного номера материнской платы и серийного номера системного диска (WMI). Если в блобе jVars есть serverHwid, для Encode, Decode и HWPass вместо ID локальной машины используется это значение.
Конструкторы
Z3n8SAFU
public Z3n8SAFU(string keyFilePath)
Создаёт реализацию. Файл ключа читается при первом использовании и должен быть ровно 32 байта.
| Параметр | Описание |
|---|---|
keyFilePath |
Путь к файлу ключа. |
Методы
Decode
public string Decode(IZennoPosterProjectModel project, string toDecrypt, string pin, string acc)
Расшифровывает toDecrypt.
Возвращает: Открытый текст или пустая строка, если вход пустой, испорчен или HMAC не совпадает.
DecodeHWID
public string DecodeHWID(IZennoPosterProjectModel project, string toDecrypt)
Расшифровывает ключом, выведенным только из ID локальной машины.
Возвращает: Открытый текст или пустая строка, если расшифровать не удалось.
Encode
public string Encode(IZennoPosterProjectModel project, string toEncrypt, string pin, string acc)
Шифрует toEncrypt. Пустой PIN заменяется фиксированной заглушкой.
Возвращает: Base64 от IV + шифротекст + HMAC или пустая строка для пустого входа.
EncodeHWID
public string EncodeHWID(IZennoPosterProjectModel project, string toEncrypt)
Шифрует ключом, выведенным только из ID локальной машины.
Возвращает: Base64 от IV + шифротекст + HMAC или пустая строка для пустого входа.
HWPass
public string HWPass(IZennoPosterProjectModel project, string pin, string acc)
Возвращает детерминированный пароль из 24 символов, в котором есть хотя бы одна строчная буква, заглавная буква, цифра и символ.