現在、XOR-Encryption でチャットをプログラミングしています。しかし、今日、私は問題に遭遇しました。Windows での暗号化は、Linux とは異なります。Linux ではチャットは正常に実行されますが、Windows では実行されません。
ここでクラス:
class XOR_c {
private boolean active = true;
private int key;
// Constructor
public XOR_c(int k){
if (System.getProperty("os.name").contains("Windows")) {
JOptionPane.showMessageDialog(null,"No encryption!","Client", JOptionPane.CANCEL_OPTION);
this.active = false;
}
key = k;
}
public String encode(String s) {
if (active == false) return s;
char[] c = s.toCharArray();
for (int i=0; i<c.length; i++)
c[i] = (char)(c[i]^key);
return new String(c);
}
public String decode(String s){
return encode(s);
}
}
これは、openSuse、Debian、および Windows 7 でテストされています。
それを修正する方法 (現時点では暗号化のバイパスを作成しましたが、これは私のターゲットではありません。両方のシステムで暗号化が必要です)? 私の情報源は間違っていますか?