Appearance
7. Signature Hash Değerini Oluşturun
Signature Oluşturma (SHA-256 + Base64)
Signature Text oluşturulduktan sonra, bu metin SHA-256 algoritması ile hashlenir ve sonuç Base64 formatına çevrilir. Bu işlem, API güvenliğinin kritik bir adımıdır.
İşlem Adımları
- Signature Text daha önce belirtilen kurallara göre hazırlanır.
client_token_hash + secret_key + nonce + timestamp + body- Body dahil tüm alanlar orijinal ve değişmemiş olmalıdır.
- SHA-256 Hashleme
- Signature Text'in UTF-8 byte dizisine çevrilir.
- SHA-256 algoritması uygulanır.
- Base64 Encode
- SHA-256 çıktısı Base64 formatına çevrilir.
- Bu sonuç, API çağrısında kullanılacak signature değeridir.
Kod Örnekleri
Java
java
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Base64;
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] digest = md.digest(signatureText.getBytes(StandardCharsets.UTF_8));
String signature = Base64.getEncoder().encodeToString(digest);C#
csharp
using System.Security.Cryptography;
using System.Text;
byte[] bytes = Encoding.UTF8.GetBytes(signatureText);
using var sha256 = SHA256.Create();
byte[] hashBytes = sha256.ComputeHash(bytes);
string signature = Convert.ToBase64String(hashBytes);JavaScript / TypeScript (Node.js)
javascript
import crypto from 'crypto';
const hash = crypto.createHash('sha256').update(signatureText, 'utf8').digest('base64');
const signature = hash;Dikkat Edilecek Noktalar
- Signature Text tek bir karakter bile değişirse geçersiz olur.
- Body'nin satır sonları, boşluklar ve JSON property sırası kesinlikle değiştirilmemelidir.
- UTF-8 encoding kullanılması zorunludur.
Örnek Signature
text
YHYQ5a6UVUjkcJX/EBLLrLbKreSJCC858zqDoH+2EiM=
