تفسير أحجام الحقول (BITMAP) ISO8583
سؤال
ما ينبغي أن يكون التفسير الصحيح لأحجام كل بت تمثل:
Bitmap attribue length in bytes 1 b 1 16 (every two, representing a binary byte) 52 b 64 ??? 64 b 64 ??? 65 b 1 ??? (will be 16 too ?) 96 b 64 ??? 128 b 64 ???
تحتاج إلى تنفيذ العلاج لهذه المعلومات.
الدبابات.
المحلول
مستندات لجميع الحقول على سبيل المثال هنا. 1 هو "Bit Map Extended" ، 52 هو "بيانات رقم التعريف الشخصي" ، 64 هو "رمز مصادقة الرسائل (MAC)" ، 65 هو "Bit Map ، Trual" ، وهكذا (على الرغم من أن الأطوال ليست كما تعطيها - انظر نفس صفحة ويكيبيديا التي أشرت إليها بالفعل ، إنها مفيدة تمامًا).
إذا كنت بحاجة إلى موثوق المرجع ، ستحتاج إلى تفاخر 252 فرنك سويسري ISO للحصول على ملف PDF أو نسخة ورقية من المعيار الرسمي ، بالطبع.
نصائح أخرى
هناك الكثير من المراجع حول تفسير ISO-8583 هناك ، حتى مقالة ويكيبيديا جيدة جدًا ، على الرغم من أن البحث السريع في Google سيجدك أيضًا العديد من مواصفات ISO-8583 المتاحة للمتغيرات المختلفة.
أنا أملك نسخة موثوقة من ISO-8583 ولا أجدها مفيدة بشكل خاص ، في الواقع أنا لا أنظر إليها أبدًا لأن كل شخص لديه متغير منه ولم ينفذ أي شخص بالضبط على ISO لأنه يسمح ببعض الاستخدامات الخاصة والوطنية.
حقل ISO: 1 = صورة نقطية ثانوية/ممتدة ؛ سيكون دائما 16 ولكن قد يكون BCD'D. 52 = بيانات رقم التعريف الشخصي B64 ؛ 16 أرقام سداسية غير موجودة في جميع الرسائل ويجب مسحها بمجرد التحقق من صحة. 64 = رمز مصادقة الرسالة B64 ؛ Hex 16 إذا تم استخدامه بالفعل. 65 = صورة نقطية ثلاثية (HEX 16 ولكن قد تكون BCD'D) 96 = رمز أمان الرسائل B64 ؛ لكنني لطالما رأيته بين 4-8 أحرف ASCII القابلة للطباعة. 128 = رمز مصادقة الرسالة B64 ؛ Hex 16 إذا تم استخدامه بالفعل.
هام: لن توجد صورة نقطية ثانوية ما لم يكن هناك بالفعل عناصر بيانات في نطاق التغطية ، فإن القيمة 0 غير صالحة. لا يمكن أن توجد صورة نقطية ثلاثية ما لم يكن هناك صورة نقطية ثانوية أيضًا. بتات 001-064 بتات نقطية أولية 065-128 بتات النقطات الثانوية/الممتدة 129-193
سأكون فضوليًا بشأن نوع الرسالة التي تحاول القيام بها برمز PIN فقط ، وعادة ما يكون رمز أمان رسالة أمان الرسائل مصحوبًا برمز إجراء في عنصر بيانات آخر وحمولة من الإجراء خلال عناصر البيانات الأخرى .