Yerleşik Fonksiyonlar
Tulpar'daki temel yerleşik fonksiyonlar.
Giriş/Çıkış (I/O)
Section titled “Giriş/Çıkış (I/O)”| Fonksiyon | Açıklama | Örnek |
|---|---|---|
print(...) | Konsola değer yazdırır | print("Merhaba"); |
input(msg) | Kullanıcıdan metin girişi alır | str ad = input("Adınız: "); |
inputInt(msg) | Kullanıcıdan tam sayı girişi alır | int yas = inputInt("Yaşınız: "); |
inputFloat(msg) | Kullanıcıdan ondalıklı sayı girişi alır | float boy = inputFloat("Boyunuz: "); |
Tip Dönüşümü
Section titled “Tip Dönüşümü”| Fonksiyon | Açıklama | Örnek |
|---|---|---|
toInt(val) | Değeri tam sayıya dönüştürür | int x = toInt("42"); |
toFloat(val) | Değeri ondalıklı sayıya dönüştürür | float y = toFloat("3.14"); |
toString(val) | Değeri metne dönüştürür | str s = toString(100); |
toBool(val) | Değeri mantıksal değere dönüştürür | bool b = toBool(1); |
Dizi İşlemleri
Section titled “Dizi İşlemleri”| Fonksiyon | Açıklama | Örnek |
|---|---|---|
length(arr) | Dizinin uzunluğunu döndürür | int len = length(arr); |
push(arr, val) | Diziye eleman ekler | push(arr, 10); |
pop(arr) | Diziden son elemanı çıkarır ve döndürür | int val = pop(arr); |
range(n) | 0’dan n-1’e kadar sayı dizisi oluşturur | array r = range(5); |
Kriptografi & güvenlik
Section titled “Kriptografi & güvenlik”Ağaç-içi (in-tree) SHA-256 üzerine kurulu — OpenSSL bağımlılığı yok, runtime’ın çalıştığı her yerde mevcut.
| Fonksiyon | Açıklama | Örnek |
|---|---|---|
sha256(s) | 64 karakter küçük-harf hex özet | str h = sha256(body); |
hmac_sha256(key, msg) | Anahtarlı MAC (RFC 2104), 64 karakter hex | str sig = hmac_sha256(secret, data); |
password_hash(pw) | PBKDF2-HMAC-SHA256, kendini tanımlayan | str h = password_hash(pw); |
password_verify(pw, stored) | password_hash’e karşı sabit-zamanlı doğrulama | bool ok = password_verify(pw, h); |
secure_token(n) | CSPRNG base62 string, n karakter | str t = secure_token(48); |
base64_encode(s) / base64_decode(s) | Standart base64 (bayt-güvenli) | str b = base64_encode(raw); |
Rehber:
- Şifreler →
password_hash/password_verify. Asla çıplaksha256(pw)saklama (tuzsuz, hızlı brute-force). - Oturum / API token’ları, tuzlar →
secure_token(randintdeğil — o kriptografik güvenli değil). - İmzalama / kimlik doğrulama (imzalı çerez, webhook imzası, JWT
tarzı token) → uzun rastgele bir gizli anahtarla
hmac_sha256. MAC’i yeniden hesaplayıp karşılaştırarak doğrula.
hmac_sha256, wings_jwt paketinin
HS256 oturum token’ları üretip doğrulamak için kullandığı yapı taşıdır:
import "wings_jwt" as jwt;
str token = jwt.sign_ttl({"sub": "42", "role": "admin"}, SECRET, 3600);json v = jwt.verify(token, SECRET); // {"ok":1,"claims":{…}} | {"ok":0,"error":…}