Курсовая работа: Несанкционированный доступ к терминалам серверов с операционными системами семейства UNIX
/* Memory saving: pack the bits into two words */
out[bit >> 5] |= value << (bit & 0x1F);
else
/* We either set or clear all the bits in every word */
out[bit] = value ? ~(ARCH_WORD)0 : 0;
}
return out;
}
int DES_bs_binary_hash(ARCH_WORD *binary, int count)
{
int bit, result;
if (DES_bs_mem_saving)
return (int)*binary & ((1 << count) - 1);
result = 0;
for (bit = 0; bit < count; bit++)
if (binary[bit]) result |= 1 << bit;
return result;
}
int DES_bs_get_hash(int index, int count)
{
register int bit, result;
register ARCH_WORD mask;
mask = (ARCH_WORD)1 << index;
result = 0;
for (bit = 0; bit < count; bit++)
if (DES_bs_all.B[bit] & mask) result |= 1 << bit;
return result;
}
/*