توابع sha1_file() در PHP

مثال

محاسبه خلاصه hash SHA-1 فایل "test.txt":

<?php
$filename = "test.txt";
$sha1file = sha1_file($filename);
echo $sha1file;
?>

خروجی کد بالا:

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

تعریف و استفاده

توابع sha1_file() خلاصه hash SHA-1 فایل را محاسبه می‌کند.

توابع sha1_file() از الریاضیات امنیتی hash امریکایی 1 استفاده می‌کند.

مفسر از RFC 3174 - الریاضیات امنیتی hash امریکایی 1: SHA-1 یک خروجی 160 بیتی به نام خلاصه پیام تولید می‌کند. خلاصه پیام می‌تواند به یک الگوریتم امضای پیام قابل تولید یا تأیید امضا پیام وارد شود. امضای خلاصه پیام به جای امضای پیام، می‌تواند بهره‌وری فرآیند را افزایش دهد، زیرا اندازه خلاصه پیام معمولاً بسیار کوچکتر از پیام است. تأییدکننده امضای دیجیتال باید مانند ایجاد‌کننده امضای دیجیتال از همان الگوریتم hash استفاده کند.

اگر موفق شود، SHA-1 هش محاسبه شده را برمی‌گرداند، اگر ناموفق باشد FALSE برمی‌گرداند.

زبان

sha1_file(فایل,crude)
پارامتر توضیح
فایل لازم. فایلی که باید محاسبه شود را مشخص می‌کند:
crude

اختیاری. بولین، که فرمت خروجی شانزده‌ساعتی یا باینری را مشخص می‌کند:

  • TRUE - فرمت اصلی ۲۰ باینری
  • FALSE - پیش‌فرض. ۴۰ عدد شانزده‌ساعتی

جزئیات فنی

برگشت‌دهی: اگر موفق شود، SHA-1 هش محاسبه شده را برمی‌گرداند، اگر ناموفق باشد FALSE برمی‌گرداند.
نسخه PHP: 4.3.0+
گزارش به‌روزرسانی:

در PHP 5.0،crude پارامترها اختیاری هستند.

از PHP 5.1 به بعد، می‌توان sha1_file() را با بسته‌بندی استفاده کرد. به عنوان مثال: sha1_file("http://codew3c.com/..")

مثال‌های بیشتر

مثال 1

SHA-1 هش فایل "test.txt" را در فایل ذخیره کنید:

<?php
$sha1file = sha1_file("test.txt");
file_put_contents("sha1file.txt",$sha1file);
?>

آیا "test.txt" تغییر کرده است (یعنی SHA-1 تغییر کرده است)؟ تست کنید:

<?php
$sha1file = file_get_contents("sha1file.txt");
if (sha1_file("test.txt") == $sha1file)
  {
  echo "فایل خوب است.";
  }
else
  {
  echo "فایل تغییر کرده است.";
  }
?>

خروجی کد بالا:

فایل خوب است.