2017-10-28 8 views
-4

私は新鮮なIOS開発者であり、暗号化と復号化の問題に直面しています。Javaからobjective-cへの関数を作成する方法

復号化コード(Java)の

 byte[] keyPass = pass.getBytes("ASCII"); 
     byte[] aesIV = new byte[16]; 
     byte[] Decryptdata = Base64.decode(encodedString, Base64.NO_WRAP); 
     System.arraycopy(Decryptdata, 0, aesIV, 0, 16); 
     byte[] data = new byte[Decryptdata.length - 16]; 
     System.arraycopy(Decryptdata, 16, data, 0, dataToDecrypt.length - 16); 
     Key aesKey = new SecretKeySpec(keyPass, "AES"); 
     IvParameterSpec ivSpec = new IvParameterSpec(aesIV); 
     Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); 
     cipher.init(Cipher.DECRYPT_MODE, aesKey, ivSpec); 
     Text = new String(cipher.doFinal(data), "UTF-8"); 

暗号コード(Java)の

 byte[] keyPass = pass.getBytes("ASCII"); 
     final Key key = new SecretKeySpec(keyPass, "AES"); 
     final Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); 
     byte[] byteMessage = text.getBytes("UTF-8"); 
     cipher.init(Cipher.ENCRYPT_MODE, key); 
     byte[] cipherText = cipher.doFinal(byteMessage); 
     byte[] ivByte = cipher.getIV(); 

     byte[] bytesTotal = new byte[ivByte.length+cipherText.length]; 
     System.arraycopy(ivByte, 0, bytesTotal, 0, ivByte.length); 
     System.arraycopy(cipherText, 0, bytesTotal, ivByte.length, cipherText.length); 
     encyoted = Base64.encodeToString(bytesTotal, Base64.NO_WRAP); 

どうやって暗号を作成し、Objective-Cで復号化することができますか?

+0

1.暗号化されたデータ、暗号化されたデータとIVを16進数として入力します。 2.フルサイズのキーを使用すると、AESは128,192および256ビットのキーをサポートします。 3.私たちはあなたが仕事をするのを待って、[mcve]を提供します。 – zaph

答えて

0

Common Cryptoを使用するiOSの

"どのように私はJavaからObjective-Cのに関数を作成することができます"。

研究、コードの記述とデバッグ。必要に応じて繰り返します。

関連する問題