sha1
تابع sha1 «هش (Hash)» می سازد. هش یک خلاصه ثابت از متن است. مثل اثرانگشت برای متن؛ تغییر کوچک، اثرانگشت را عوض می کند. اینجا تمرکز ما روی «هش SHA-1» است.
تعریف و کاربرد sha1
sha1() هش SHA-1 را برای یک رشته حساب می کند. خروجی می تواند هگزادسیمال باشد یا باینری خام. از این هش برای بررسی سلامت داده استفاده می شود.
نکته: برای فایل از sha1_file استفاده کن.
سینتکس
sha1(string, raw)
- string: رشته ورودی برای محاسبه هش.
- raw: اگر
trueباشد، خروجی باینری 20 بایتی می دهد؛ در غیر این صورت، رشته هگز 40 کاراکتری.
مثال 1: هش هگز 40 کاراکتری
<?php
$str = "Hello";
echo sha1($str);
?>
مثال 2: تفاوت خروجی باینری و هگز
<?php
$str = "Hello";
echo "The string: " . $str . "\n";
echo "RAW (20 bytes): " . sha1($str, true) . "\n";
echo "HEX (40 chars): " . sha1($str) . "\n";
?>
مثال 3: مقایسه هش با مقدار مورد انتظار
<?php
$str = "Hello";
$hash = sha1($str);
echo $hash;
if ($hash == "f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0") {
echo "\nHello world!";
exit;
}
?>
گام های عملی
- رشته را در متغیر (Variable) بگذار.
- تابع
sha1را صدا بزن. - در صورت نیاز، با مقدار مرجع مقایسه کن.
هشدار: «هش SHA-1» برای امنیت رمز عبور مناسب نیست. از الگوریتم های کند و ایمن مثل password_hash استفاده کن.
جمع بندی سریع
- sha1 خلاصه 160 بیتی می سازد.
- خروجی پیش فرض هگز 40 کاراکتری است.
raw=trueخروجی باینری می دهد.- برای فایل از
sha1_fileکمک بگیر. - برای رمزها، از
password_hashاستفاده کن.