• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
sha256
#1
با سلام

دوستان الگوریتم هش sha256 یک رشته میگیره و خروجی 256 بیت بر میگردونه
حالا یک سوال مگه خروجی نباید 256 بیت باشه پس چرا خروجی هش 64 بایت یا به عبارتی 512 بیت هست ؟؟؟؟

مگه نباید 256 بیت باشه دلیلش چیه ؟

مثال
کد:
echo hash('sha256','hello');

خروجی زیر رو بر میگردونه

کد:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
  پاسخ
تشکر شده توسط :
#2
(۱۳۹۷ آبان ۱۱, ۰۲:۱۲ ب.ظ)ImanAzadi نوشته: با سلام

دوستان الگوریتم هش sha256 یک رشته میگیره و خروجی 256 بیت بر میگردونه
حالا یک سوال مگه خروجی نباید 256 بیت باشه پس چرا خروجی هش 64 بایت یا به عبارتی 512 بیت هست ؟؟؟؟

مگه نباید 256 بیت باشه دلیلش چیه ؟

مثال
کد:
echo hash('sha256','hello');
کد:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824


خروجی زیر رو بر میگردونه
256 بیت هست. هر دو کاراکتر اینجا یک بایت میشه
  پاسخ
تشکر شده توسط : ayoubsys
#3
(۱۳۹۷ آبان ۱۳, ۱۲:۳۱ ق.ظ)admin نوشته:
(۱۳۹۷ آبان ۱۱, ۰۲:۱۲ ب.ظ)ImanAzadi نوشته: با سلام

دوستان الگوریتم هش sha256 یک رشته میگیره و خروجی 256 بیت بر میگردونه
حالا یک سوال مگه خروجی نباید 256 بیت باشه پس چرا خروجی هش 64 بایت یا به عبارتی 512 بیت هست ؟؟؟؟

مگه نباید 256 بیت باشه دلیلش چیه ؟

مثال
کد:
echo hash('sha256','hello');
کد:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824


خروجی زیر رو بر میگردونه
256 بیت هست. هر دو کاراکتر اینجا یک بایت میشه

دوست عزیز میشه دلیلش بگید که چرا هر دو کارکتر یک بایت حساب میشه ؟؟!!!

هر 8 بیت 1 بایت و معادل یک کاراکتر هست حالا شما رو چه حسابی میگید هر دو کاراکتر یک بایت میشه واسم جالبه Undecided
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۷ آبان ۱۳, ۰۹:۵۴ ق.ظ)ImanAzadi نوشته:
(۱۳۹۷ آبان ۱۳, ۱۲:۳۱ ق.ظ)admin نوشته:
(۱۳۹۷ آبان ۱۱, ۰۲:۱۲ ب.ظ)ImanAzadi نوشته: با سلام

دوستان الگوریتم هش sha256 یک رشته میگیره و خروجی 256 بیت بر میگردونه
حالا یک سوال مگه خروجی نباید 256 بیت باشه پس چرا خروجی هش 64 بایت یا به عبارتی 512 بیت هست ؟؟؟؟

مگه نباید 256 بیت باشه دلیلش چیه ؟

مثال
کد:
echo hash('sha256','hello');
کد:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824


خروجی زیر رو بر میگردونه
256 بیت هست. هر دو کاراکتر اینجا یک بایت میشه

دوست عزیز میشه دلیلش بگید که چرا هر دو کارکتر یک بایت حساب میشه ؟؟!!!

هر 8 بیت 1 بایت و معادل یک کاراکتر هست حالا شما رو چه حسابی میگید هر دو کاراکتر یک بایت میشه واسم جالبه Undecided

اگر دقت کنی, خروجی بصورت هگز هست و هر ۲ رقم در هگز یک بایت
  پاسخ
تشکر شده توسط :
#5
نقل قول:اگر دقت کنی, خروجی بصورت هگز هست و هر ۲ رقم در هگز یک بایت

دوست گرامی شما چطوری تشخیص دادید که رشته فوق هگزا دسیماله HuhHuhHuh

هر جا خبری از هگزا دسیمال باشه معمولا با کاراکتر h نمایش داده میشه

ضمنا اینکه اگر مستندات الگوریتم رو بخونید گفته یک رشته برمیرگدونه نه یک مقدار هگزا دسیمال
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان