を解読、今私は、サーバーとクライアント間の取引に使用されスウィフト、にコードを復号化/ JavaのXORの暗号化を翻訳したいです。以下は、JavaののXORコードです:スウィフトのBigIntegerのXOR暗号化/ Iは、スウィフトに新たなんだ
public static String encrypt(String password, String key) {
if (password == null)
return "";
if (password.length() == 0)
return "";
BigInteger bi_passwd = new BigInteger(password.getBytes());
BigInteger bi_r0 = new BigInteger(key);
BigInteger bi_r1 = bi_r0.xor(bi_passwd);
return bi_r1.toString(16);
}
public static String decrypt(String encrypted, String key) {
if (encrypted == null)
return "";
if (encrypted.length() == 0)
return "";
BigInteger bi_confuse = new BigInteger(key);
try {
BigInteger bi_r1 = new BigInteger(encrypted, 16);
BigInteger bi_r0 = bi_r1.xor(bi_confuse);
return new String(bi_r0.toByteArray());
} catch (Exception e) {
return "";
}
}
そして私は、迅速なXOR暗号化について多くのことを検索し、以下のリンクで答えを試してみた:
https://coderwall.com/p/timkvw/simple-xor-encryption-and-decryption-in-swift-playground-code
しかし、それらのすべては、私のJavaコード、今の私のJava、Cと比較して、同じencryted文字列を取得することはできませんオードは生きていて、それを変更する方法はありません。
私はそれを16進によって引き起こされるかもしれないと思ったが、迅速に、私はどこにでも迅速XORの16進数について見つけることができません。
だから私は必要なものSWIFTコードは、私が貼り付けられてきたJavaコードと全く同じ暗号化された文字列を取得することができ、私のJavaクライアントによって生成された暗号化された文字列は、私のiOSクライアントで復号化することが可能です。このうち私を助けることができる非常に誰
ありがとう!私は一日中これに入る!
もう一度おねがいします。