text: Пусть на определённом шаге было вычислено значение строки h m a c _ r e s u l t . . . h m a c _ r e s u l t {\displaystyle hmac\_result...hmac\_result} из H M A C − S H A − 1 {\displaystyle HMAC-SHA-1} int offset = hmac_result & 0xf; int bin_code = (hmac_result & 0x7f) << 24 | (hmac_result & 0xff) << 16 | (hmac_result & 0xff) << 8 | (hmac_result & 0xff); Тогда результат будет выглядеть следующим образом: Последний байт имеет значение 0x5a Значение сдвига, полученное из младших 4 бит — 0xa, это даёт нам число 10 Значение 4 последовательных байтов, начиная с 10-ой позиции — 0x50ef7f19, которое преобразуется в двоичный код DBC1 (dynamic binary code) MSB, полученное из DBC1, равно 0x50.