java xor在一个带有byte []大小键的单个字节上

时间:2017-10-10 11:38:13

标签: java android encryption ascii xor

我想分别对每个字节应用xor,并将它们存储在某个内存位置的特定字节中。

例如,我有一个字符串" 0",我将其转换为ASCII,然后需要在其上使用多字节密钥应用xor,例如" 243" ,结果数据必须是单个字节。这甚至可能吗?

private byte[] xorWithKey(byte[] a, byte[] key) {
    byte[] out = new byte[a.length];
    for (int i = 0; i < a.length; i++) {
        out[i] = (byte) (a[i] ^ key[i%key.length]);
    }
    return out;
}

现在我正在使用这个片段,它接受字节数组并返回一个字节数组,这很好用,但我希望在单个字节上实现这一点,如:

private byte xorWithKey(byte a, byte[] key)

1 个答案:

答案 0 :(得分:0)

您有一系列密钥,可以根据您从阵列中选择密钥的选择,使用多个密钥加密输入 datePicker.setOnHidden(new EventHandler<Event>() { @Override public void handle(Event event) { datePicker.show(); } });

如果要使用数组中存在的所有密钥加密输入byte,可以使用以下方法,其中加密函数通过​​迭代xor使用所有密钥进行加密

byte