using SameBeat.Domain.Encje; namespace SameBeat.Application.Interfejsy; /// /// Hashowanie sekretu sesji uczestnika poczekalni -- ten sam mechanizm (PBKDF2 przez /// Microsoft.AspNetCore.Identity.PasswordHasher) co dla hasel /// hosta, ale dla encji UczestnikOczekujacy: to jedyny sposob, w jaki uczestnik bez konta moze /// pozniej udowodnic "to ja" (np. przy odpytywaniu o status albo przy wymianie na token sceny). /// public interface IUslugaHaszowaniaSekretowSesji { /// Generuje nowy losowy sekret JAWNY -- min. 32 bajty (256 bitow) z kryptograficznie bezpiecznego generatora, zakodowany Base64Url. string WygenerujSekret(); string Haszuj(UczestnikOczekujacy uczestnik, string sekretJawny); WynikWeryfikacjiHasla Weryfikuj(UczestnikOczekujacy uczestnik, string sekretHash, string sekretJawny); }