Yapı
Last updated
Last updated
Sağlanan yapıcılar, TTOTP ve THOTP kütüphanelerinin belirli parametrelerle başlatılmasına izin verir:
TTOTP
Kurucuları:
TTOTP
için iki yapıcı vardır.
Birincisi, period
bir süreyi ve digits
ise çıkış rakam sayısını parametre olarak alır.
İkinci yapıcı, belirli bir hash algoritmasının kullanılmasını sağlayan ek bir parametre olan TOTPHashAlgorithm
izin verir.
THOTP
Kurucuları:
THOTP
için iki yapıcı vardır.
Birincisi, counter
bir sayacı ve digits
ise çıkış rakam sayısını parametre olarak alır.
İkinci yapıcı, belirli bir hash algoritmasının kullanılmasını sağlayan ek bir parametre olan TOTPHashAlgorithm
izin verir.
Bu yapıcılar, güvenlik gereksinimlerine ve sistem kısıtlamalarına bağlı olarak OTP kitaplıklarının çeşitli konfigürasyonlarla başlatılmasında esneklik sağlar.
Bu bağlamdaki statik işlevler, bir sınıf örneği olmadan çağrılabilecek faydalı işlevlerdir. Bu işlevler, TOTP ve HOTP uygulamalarında yaygın olarak kullanılan temel işlemler sağlar:
CheckValidSecretkey
: Gizli anahtarın geçerli olup olmadığını doğrular.
GenerateRandomSecretKey
: OTP'ler oluşturmak için kullanılabilen belirli bir uzunluğun rastgele gizli bir anahtarı oluşturur.
Base32Encode
: Parametre olarak gönderilen byte dizisini base32 olarak kodlar.
GenerateOTP
fonksiyonu, belirli bir gizli anahtara dayanarak bir kerelik bir şifre (OTP) oluşturmak için kullanılır. Bu işlev hem zaman tabanlı (TOTP) hem de HMAC tabanlı (HOTP) algoritmalar için kullanılabilir.
function GenerateOTP(const SecretKey: string): string
: Varsayılan hash algoritmasını kullanarak bir OTP oluşturur.
function GenerateOTP(const SecretKey: string; Algorithm: TOTPHashAlgorithm): string
: Belirli bir hash algoritması kullanarak bir OTP üretir.
secretkey: OTP'yi oluşturmak için kullanılan string
gizli anahtar.
algorithm (Opsiyonel): Kullanılacak hash algoritmayı belirten bir OTPHashAlgorithm
.
Verify
fonksiyonu, bir otp kodunun doğrulama işlemini gerçekleştirir.
function Verify(const OTPCode, SecretKey: string): Boolean
: Daha önceki işlemlerde belirtilen hash algoritmasına göre OTP kodu doğrulaması yapılır.
function Verify(const OTPCode, SecretKey: string; Algorithm: TOTPHashAlgorithm): Boolean
: Belirtilen hash algoritmasına göre OTP kodu doğrulaması yapılır.
Her iki yöntem de OTP kodunun geçerli olup olmadığını gösteren bir bool
değer döndürür.
GetOTPUrl
fonksiyonları, özellikle TOTP (zaman tabanlı bir kerelik parola) ve HOTP (HMAC tabanlı tek seferlik parola) yapılandırmalarıyla kullanmak için OTP (bir kerelik parola) URL'i oluşturulmasını kolaylaştırır. Bu URL'ler, OTP Authenticator uygulamalarını ayarlamak için gerekli olan kullanıcı adı, servicename ve gizli anahtar gibi hayati parametreleri içerir. QR kod oluşturmak için kullanılır.
TTOTP & THOTP:
function GetOTPUrl(const Username, ServiceName, SecretKey: string): string
: Temel OTP Url'i oluşturur.
TTOTP:
function GetOTPUrl(const Username, ServiceName, SecretKey: string; Period, Digits: Integer; Algorithm: TOTPHashAlgorithm): string
: Zaman periyodu, rakam sayısı ve hash algoritması gibi parametrelerin spesifikasyonuna izin veren TOTP'ye özgü bir URL oluşturur.
THOTP:
function GetOTPUrl(const Username, ServiceName, SecretKey: string; Counter: Int64; Digits: Integer; Algorithm: TOTPHashAlgorithm): string
: Sayaç, rakam sayısı ve hash algoritması gibi parametrelerin spesifikasyonuna izin veren HOTP'ye özgü bir URL oluşturur.
Bu esnek yöntemler, OTP hizmetleri ve uygulamaları ile özel entegrasyon sağlar.
Sınıf, ayrıntılı yapılandırmaya izin veren TOTP ve HOTP'ye özgü çeşitli özellikler sağlar:
TTOTP:
GetPeriod() / SetPeriod(Period: Integer)
: TOTP için zaman dilimini alma ve ayarlama fonksiyonudur.
TTOTP & THOTP:
GetAlgorithm() / SetAlgorithm(Algorithm: TOTPHashAlgorithm)
: Hashing algoritmasını getirin veya yapılandırın.
GetDigits() / SetDigits(Digits: Integer)
: OTP için basamak sayısını elde edin veya ayarlayın.
THOTP:
GetCounter() / SetCounter(Counter: Int64)
: THOTP için sayaç ayarına erişme ve değiştirme fonksiyonudur.
Bu özellikler, OTP üretiminin belirli güvenlik ve performans gereksinimlerini karşılayacak şekilde özelleştirilebilmesini sağlar.
Bu sınıftaki "diğer fonksiyonlar", bir kerelik şifreleri yönetmek ve kullanmak için ek yardımcı özellikler sağlar. Dahil edilen birincil işlev:
TTOTP:
GetRemainingTime()
: Bu yöntem, mevcut TTOTP'nin süresi dolmadan saniyeler içinde kalan süreyi döndürür. Tokenlerin geçerli süreleri içinde kullanılmasını sağlamak için yararlıdır ve istemci-sunucu süresinin senkronize edilmesine yardımcı olur.