如何将缺失的位添加到二进制值中?

时间:2015-11-22 16:18:44

标签: java

我生成二进制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

将缺失的位添加到我的键的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

使用String.format方法

,当它小于128时,可以用零填充它
String.format("%0128d", num);