繁体   English   中英

目标-C-Java算法的等效加密

[英]Objective - C - Equivalent Cryptography of Java algorithm

我已经在该论坛和网络上的许多其他主题上阅读了很多主题,但是找不到满意的答案。...

即使知道我可能会提出负面意见,也需要提出这个问题...

我有几个用Java编写的Web服务。 直到现在,只有Android应用程序正在使用此服务。 大多数SOAP消息中的大多数都是加密的,我在下面(Android和Server)两面都使用此类来加密和解密:

public class Crypto {

private static final String engine = "AES";
private static final String crypto = "AES/CBC/PKCS5Padding";

static String key = "1234567890987654";
static String _iv = "1234567890987654";

public static byte[] cipher(byte[] data, int mode)
        throws NoSuchAlgorithmException, NoSuchPaddingException,
        InvalidKeyException, IllegalBlockSizeException,
        BadPaddingException, InvalidAlgorithmParameterException 
{
    SecretKeySpec sks = new SecretKeySpec(key.getBytes(), engine);
    IvParameterSpec iv = new IvParameterSpec(_iv.getBytes());
    Cipher c = Cipher.getInstance(crypto);
    c.init(mode, sks, iv);
    return c.doFinal(data);
}

public static byte[] encrypt(byte[] data) throws InvalidKeyException,
        NoSuchAlgorithmException, NoSuchPaddingException,
        IllegalBlockSizeException, BadPaddingException,
        InvalidAlgorithmParameterException {
    return cipher(data, Cipher.ENCRYPT_MODE);
}

public static byte[] decrypt(byte[] data) throws InvalidKeyException,
        NoSuchAlgorithmException, NoSuchPaddingException,
        IllegalBlockSizeException, BadPaddingException,
        InvalidAlgorithmParameterException {
    return cipher(data, Cipher.DECRYPT_MODE);
}
}

所有这一切都很好。 我对这是否是一种好方法不感兴趣,但这对我来说就足够了。

现在的情况是,我必须编写一些将使用这些Web服务的iOS应用程序,而且我必须知道如何在Objective-C中使用相同的加密技术,或者可以在Android,iOS和服务器端应用的加密技术。

我非常感谢您,并感谢任何提示!

如果您正在寻找一种跨语言加密器/解密器,我建议您在这里寻找: RNCryptor

如果您正在查看Apple提供的加密技术,那么此链接将是一个不错的起点。

如果您正在寻找要在加密时用作参考点的Objective C代码。 我建议在github上查看这个AES 128加密对象C项目。

最后, 上一个问题可能会对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM