-1
我收到了在excel文件中創建的口令。 密碼使用Excel xorc功能「加密」。在java中使用Excel函數xorc
現在我試圖建立在一個Java程序中的相同。
當我使用xor ^函數時,我沒有收到與excel中相同的結果。
是否有人知道如何創建一個java xor函數巫女提供像excel xorc一樣的結果?
結果Excel中:
鍵:鎖
輸入:650827-25
XORC輸出:XXX [[TT_YOZZ
= XORC( 「650827-25」, 「鎖定」)
結果:
鍵:鎖定
輸入:650827-25
XORC輸出:ZZSS^XNYY
XOR_Codierer
public class XOR_Codierer extends Encoder {
private char[] key;
private char[] password;
public XOR_Codierer(String k){
key = k.toCharArray();
}
public String encode(String s){
password = s.toCharArray();
int pl=password.length;
int kl=key.length;
char[] newmsg=new char[pl];
for (int i=0; i<pl; i++){
newmsg[i]=(char)(password[i]^key[i%kl]);
}
return new String(newmsg);
}
public String decode(String s){
return encode(s);
}
}
演示
public class Demo{
public static void demo(Encoder enc, String text) {
String encoded = ((XOR_Codierer) enc).encode(text);
System.out.println("codiert : " + encoded);
String decoded = ((XOR_Codierer) enc).decode(encoded);
System.out.println("decodiert: " + decoded);
if (text.equals(decoded))
System.out.println("Verschluesselung erfolgreich!");
else
System.out.println("PROGRAMMFEHLER!");
}
public static void main(String[] args){
String key = "lock";
String text = "650827-25";
Encoder enc = new XOR_Codierer(key);
demo(enc, text);
}
}
嗨Caleryn 謝謝。 是的,這是接縫功能。我會盡力把它翻譯成java。 –