0

我写了服务器和客户端,我想发送一些将被加密的文件。所以我必须对位进行操作,而不是字节,因为我的加密方法是这样的:我以大约 8 位的部分发送我的文件,并向它们添加一些特定的 MAC。(其:风选和火柴方法)

在我的程序中,我将文件读入字节数组。但我需要字节到位才能将 MAC 地址添加到文件的每个部分并分部分发送。

我的问题是:是否有可能对 Java 中的位进行操作,或者如果没有,您将如何解决这个问题?

4

2 回答 2

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;
}
于 2012-11-22T19:36:36.953 回答
0

为什么不只使用 SSL 或 TLS?或任何其他内置的安全协议。在这里重新发明轮子似乎很奇怪。

通常,专有加密系统的安全性不如众所周知的系统,因为它们没有受到公众监督。

没有人知道它的事实并没有使它更安全。“默默无闻的安全”从来都不是最佳实践。

于 2012-11-22T19:28:45.350 回答