【问题标题】:How to encrypt data in Java using DES and decrypt that data into Object-c如何使用 DES 加密 Java 中的数据并将该数据解密为 Object-c
【发布时间】:2012-07-10 19:11:43
【问题描述】:

这是我的java代码使用des

public class DES {

    public static String encode(String str, String key) throws Exception {
        byte[] rawKey=Base64.decode(key);
        IvParameterSpec sr=new IvParameterSpec(rawKey);
        DESKeySpec dks=new DESKeySpec(rawKey);
        SecretKeyFactory keyFactory=SecretKeyFactory.getInstance("DES");
        SecretKey secretKey=keyFactory.generateSecret(dks);

        javax.crypto.Cipher cipher=Cipher.getInstance("DES/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey, sr);

        byte data[]=str.getBytes("UTF8");
        byte encryptedData[]=cipher.doFinal(data);
        return Base64.encode(encryptedData).trim();
    }

    public static String decode(String str, String key) throws Exception {
        byte[] rawKey=Base64.decode(key);
        IvParameterSpec sr=new IvParameterSpec(rawKey);
        DESKeySpec dks=new DESKeySpec(rawKey);
        SecretKeyFactory keyFactory=SecretKeyFactory.getInstance("DES");
        SecretKey secretKey=keyFactory.generateSecret(dks);
        Cipher cipher=Cipher.getInstance("DES/CBC/PKCS5Padding");
        cipher.init(Cipher.DECRYPT_MODE, secretKey, sr);
        byte encryptedData[]=Base64.decode(str);
        byte decryptedData[]=cipher.doFinal(encryptedData);
        return new String(decryptedData, "UTF8").trim();
    }
}

我是 Objective-c 的新手,在 Ojbective-c DES 中遇到了一些问题, 上面的代码是使用java,我想加密或解密一个字符串,最终在Object-c中得到相同的结果。

【问题讨论】:

  • 如果你对 Java 和 Objective-C 感兴趣,那为什么还要烦 C++、C 和 iPhone 标签呢?
  • 因为object-c是c的扩展
  • 但是你正在寻找一个 Objective-C 的答案。那么 C++ 标签呢?除此之外:您到底遇到了什么问题?
  • 如果您可以使您的帖子更易于阅读(阅读格式帮助),那就太好了。
  • @Sunxc,希望能帮到你stackoverflow.com/questions/4611256/…

标签: java objective-c encryption


【解决方案1】:

CommonCrypto 库(它是 C 语言,因此可以从 Objective-C 中使用,并且是 Mac OS X 和 iOS 的一部分)实现了 DES 算法。例如,请参阅以下问题:Encryption for Objective-C

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    相关资源
    最近更新 更多