// SHA-512 وHMAC-SHA-256 مطبوعين بالنظام الست عشري.
استورد std.io.println;
استورد std.text.from_bytes;
استورد std.encoding.hex;
استورد std.crypto.sha512;
استورد std.crypto.digest;
عرف الرئيسية(): عدد {
دع الرسالة: متجه ط8 = بايتات_من_نص("abc");
دع الملخص: متجه ط8 = شا512(&الرسالة);
اطبع_سطر(رمز_سداسي(&الملخص));
دع المفتاح: متجه ط8 = بايتات_من_نص("key");
دع النص: متجه ط8 = بايتات_من_نص("The quick brown fox jumps over the lazy dog");
دع الوسم: متجه ط8 = هماك_شا256(&المفتاح, &النص);
اطبع_سطر(رمز_سداسي(&الوسم));
أرجع 0;
}// SHA-512 and HMAC-SHA-256, printed as hexadecimal.
import std.io.println;
import std.text.from_bytes;
import std.encoding.hex;
import std.crypto.sha512;
import std.crypto.digest;
def main(): int {
let message: vector u8 = bytes_from_text("abc");
let digest: vector u8 = sha512(&message);
println(hex_encode(&digest));
let key: vector u8 = bytes_from_text("key");
let text: vector u8 = bytes_from_text("The quick brown fox jumps over the lazy dog");
let tag: vector u8 = hmac_sha256(&key, &text);
println(hex_encode(&tag));
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/crypto/hashes.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/crypto/hashes.sn -o build/example && ./build/example