我生成二进制k
位的随机密钥并将其存储在keysArray
中。
public String[][] keysArray = new String[2][l];
// Method to generate random keys of k bits
public String keyGenerator(int k) {
SecureRandom srandom = new SecureRandom();
// Constructor: BigInteger(int numBits, Random rnd)
// Create a random big integer of k bits using secure random
BigInteger bg = new BigInteger(k, srandom);
// Return the bg with radix 2 (= show it in binary)
return bg.toString(2);
}
public void setKeysArray() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < l; j++) {
keysArray[i][j] = keyGenerator(k);
}
}
}
我需要密钥总是大小为k
(即128)。问题是某些键的大小 <{1}}这是完全可以预料到的,因为它们的左侧位可能是零。
k
将缺失的位添加到我的键的最佳方法是什么?
答案 0 :(得分:1)
使用String.format方法
,当它小于128时,可以用零填充它String.format("%0128d", num);