سؤال

في Python ، كيف يمكن للمرء تقسيم تجزئة SHA256 إلى بادئات 32 بت؟ أنا أعمل مع واجهة برمجة تطبيقات Safebrowsing من Google ، والتي تتطلب أن أقارن 32 بايت بين مجموعتي الخاصة ، والمجموعة التي ترسلها API إلي. أفهم كيفية سحب القائمة من Google ، وأنا أفهم كيفية تكوين مجموعة من التجزئة من عناوين URL المحسورة ، ومع ذلك ، لا أفهم كيف يمكنني استخلاص أول 32 نقطة من كل تجزئة.

وبعد الحصول على البادئة ، هل سيكون أفضل مسار للعمل بين وضعها في قاموس مع أزواج المفتاح/القيمة المقابلة كونها بادئة/تجزئة كاملة ، حتى أتمكن من الرجوع إليها لاحقًا؟

هل كانت مفيدة؟

المحلول

32 بت هي أول 4 بايت. حتى تتمكن من تقطيع صفيف البايت.

hash_obj.digest()[:4]

يمكنك أخذ ذلك واستخدامه كمفتاح قاموس.

تعديل

لست متأكدًا مما إذا كنت بحاجة إلى تمثيل Hex ، فسيكون ذلك.

hash_obj.hexdigest()[:8]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top