تقسيم تجزئة 256 بت إلى بادئة 32 بت في بيثون
سؤال
في Python ، كيف يمكن للمرء تقسيم تجزئة SHA256 إلى بادئات 32 بت؟ أنا أعمل مع واجهة برمجة تطبيقات Safebrowsing من Google ، والتي تتطلب أن أقارن 32 بايت بين مجموعتي الخاصة ، والمجموعة التي ترسلها API إلي. أفهم كيفية سحب القائمة من Google ، وأنا أفهم كيفية تكوين مجموعة من التجزئة من عناوين URL المحسورة ، ومع ذلك ، لا أفهم كيف يمكنني استخلاص أول 32 نقطة من كل تجزئة.
وبعد الحصول على البادئة ، هل سيكون أفضل مسار للعمل بين وضعها في قاموس مع أزواج المفتاح/القيمة المقابلة كونها بادئة/تجزئة كاملة ، حتى أتمكن من الرجوع إليها لاحقًا؟
المحلول
32 بت هي أول 4 بايت. حتى تتمكن من تقطيع صفيف البايت.
hash_obj.digest()[:4]
يمكنك أخذ ذلك واستخدامه كمفتاح قاموس.
تعديل
لست متأكدًا مما إذا كنت بحاجة إلى تمثيل Hex ، فسيكون ذلك.
hash_obj.hexdigest()[:8]
لا تنتمي إلى StackOverflow