0

如何在 bitlocker 密钥中构建校验位?我只是无法从以下来源解决: https : //blogs.msdn.microsoft.com/si_team/2006/08/10/bitlocker-recovery-password-details/ http://jessekornblum.com/publications /di09.pdf 章节。5.4

我应该生成随机的 5 位数字并添加一个额外的计算数字吗?但是如何使它仍然可以被 11 整除?

这是我现在建立我的小组的方式:

byte[] randomBytes = new byte[128];
rnd.nextBytes(randomBytes);
BitSet bitSet= BitSet.valueOf(randomBytes);
String key="";
String group="";
for (int i = 0; i < 8; i++) {
    BitSet groupBitSet = bitSet.get(i*16,16*(i+1)-1);
    group=String.format("%06d",groupBitSet.toLongArray()[0]*11);
    key=key+group;
    if (i<7) { key=key+'-';}
}

return key;

当然,每组的最后一位数字不符合规格....

你能解释一下实现这一目标的权利吗?

谢谢

4

0 回答 0