Skip to content

Avoraiser framework GUI dla Avocado (desktop)

Avoraiser to wysokowydajny framework do tworzenia natywnych aplikacji desktopowych w Avocado. Został zaprojektowany jako lekka, bezpośrednia warstwa nad WinAPI, zapewniająca pełną kontrolę nad interfejsem użytkownika przy minimalnym narzucie.

Założenia projektowe

Avoraiser powstał z naciskiem na:

  • maksymalną wydajność (bez dodatkowych warstw abstrakcji),
  • minimalny rozmiar aplikacji wynikowej,
  • brak zewnętrznych zależności (Zero-Runtime),
  • pełną kontrolę nad systemem i renderingiem,
  • prostą integrację z językiem Avocado.

Framework nie korzysta z klasycznych widgetsetów ani ciężkich bibliotek UI — operuje bezpośrednio na natywnych API systemu.

Kluczowe cechy

  • Natywne WinAPI
  • Bezpośrednia komunikacja z systemem operacyjnym.
  • Wysoka wydajność
  • Brak pośrednich warstw (np. VCL/LCL), co przekłada się na szybki start i niskie zużycie zasobów.
  • Lekkość aplikacji
  • Bardzo mały rozmiar plików wykonywalnych, odpowiedni dla aplikacji typu portable.
  • Rendering GDI+

Obsługa:

  • antyaliasingu,
  • przezroczystości (alpha channel),
  • rysowania kształtów i grafiki z pamięci.
  • Nowoczesny wygląd UI
  • Dark Mode,
  • okna typu Frameless (bez ramki systemowej),
  • skalowanie interfejsu.
  • Pełna obsługa Unicode W tym polskie znaki diakrytyczne.
  • Wbudowane funkcje systemowe
  • schowek (clipboard),
  • dialogi systemowe,
  • drag & drop.

Generowanie PDF

Wbudowany moduł do tworzenia dokumentów i raportów.

Moduł kryptograficzny avoraiser.cryptography

Natywny moduł kryptograficzny przeznaczony do szyfrowania danych oraz bezpiecznego przetwarzania haseł.

Obsługiwane mechanizmy

  • AES-256-GCM — szyfrowanie danych z uwierzytelnieniem
  • PBKDF2 (SHA-256) — wyprowadzanie klucza z hasła

Kluczowe właściwości

Brak zewnętrznych zależności

Moduł wykorzystuje bezpośrednio systemowe API kryptograficzne Windows (CNG / BCrypt), co eliminuje potrzebę użycia dodatkowych bibliotek runtime.

Strumieniowe szyfrowanie (Chunked GCM)

Umożliwia przetwarzanie bardzo dużych plików przy niskim zużyciu pamięci operacyjnej (rzędu kilku MB).

Ochrona hasła (PBKDF2)

Zastosowanie wysokiej liczby iteracji (np. 500 000) zwiększa odporność na ataki słownikowe i brute-force.

Integralność danych (GCM + AAD)

Każdy fragment danych jest uwierzytelniany. Naruszenie integralności (np. zmiana pojedynczego bitu) powoduje błąd podczas odszyfrowywania.

Charakterystyka implementacji

  • bezpośrednie wykorzystanie Windows CNG (Cryptography Next Generation)
  • możliwość użycia sprzętowej akceleracji AES
  • minimalny narzut na rozmiar pliku wykonywalnego

Moduł hashowania haseł oparty o Argon2id.

Argon2id jest aktualnym standardem branżowym przeznaczonym do ochrony haseł przed atakami słownikowymi, brute-force oraz atakami z użyciem GPU.

Zakres funkcjonalny

Moduł udostępnia kompletne API do obsługi haseł:

  • hashowanie haseł (Argon2id),
  • weryfikację hashy,
  • automatyczną ocenę parametrów bezpieczeństwa (NeedsRehash).

Mechanizmy bezpieczeństwa

Automatyczne wykrywanie przestarzałych hashy Funkcja NeedsRehash pozwala określić, czy istniejący hash spełnia aktualne wymagania bezpieczeństwa (np. liczba iteracji, pamięć). Umożliwia to stopniową migrację hashy bez wymuszania resetu haseł.

Obsługa peppera

  • możliwość użycia dodatkowego sekretu (pepper),
  • ładowanie z zmiennych środowiskowych,
  • bezpieczne usuwanie z pamięci po użyciu.

Generowanie soli (CSPRNG)

Sól generowana jest przy użyciu kryptograficznie bezpiecznego generatora liczb losowych (Windows CNG / BCrypt).

Ochrona danych w pamięci

  • blokowanie pamięci (VirtualLock),
  • zerowanie buforów po użyciu,
  • minimalizacja czasu przechowywania danych wrażliwych.

Charakterystyka implementacji

  • wykorzystanie referencyjnej implementacji Argon2,
  • lokalna kompilacja (brak zewnętrznych, niezweryfikowanych binariów),
  • integracja z natywnym środowiskiem Windows.

Zalety

  • większa kontrola nad parametrami bezpieczeństwa niż w typowych wrapperach,
  • gotowość do zastosowań produkcyjnych (np. systemy autoryzacji),
  • możliwość automatycznej aktualizacji hashy w czasie działania aplikacji.

Ograniczenia

  • wymagana natywna biblioteka: argon2.dll,
  • zależność od mechanizmów Windows (np. VirtualLock).

Zastosowanie

Moduł może być używany jako podstawa dla:

  • systemów logowania i autoryzacji,
  • aplikacji backendowych,
  • bezpiecznego przechowywania danych uwierzytelniających.