我写了服务器和客户端,我想发送一些将被加密的文件。因此我必须对位而不是字节进行操作,因为我的加密方法是这样的:我以大约8位的部分发送文件,然后向它们添加一些特定的MAC。 (它的:风选和Chaffing metod)
在我的程序中,我将文件读入字节数组。但我需要字节到位来将MAC地址添加到文件的每个部分并将它们分批发送。
我的问题是: 是否有可能在Java中操作位,或者如果不能解决这个问题怎么办?
答案 0 :(得分:0)
为什么不使用SSL或TLS?或任何其他内置安全协议。在这里重新发明轮子似乎很奇怪。
通常,专有加密系统的安全性低于众所周知的,因为它们没有受到公众监督。
没有人知道它的事实并没有使它更安全。 “安全隐患”绝不是最好的做法。
答案 1 :(得分:0)
我真的不认为你的问题会通过将字节转换为位来解决,但是你可以这样做。
static boolean[] byteToBits(byte b) {
boolean[] bits = new boolean[8];
for (int idx = 0; idx < 8; ++idx)
bits[idx] = ((b >> idx) & 1) == 1;
return bits;
}