如何在Swift 3中生成DES密钥

时间:2017-05-18 07:08:10

标签: swift xcode swift3 des

我想用CommonCrypto解密DES加密的字符串,因此我必须从给定的密码短语中生成一个密钥。

我在Apple的API参考中找到了以下功能:SecKeyGenerateSymmetric

但是当我在swift文件中导入Security时,如果框架的其他功能可用(例如SecKeyGeneratePair),则此功能不可用。

此功能是否被其他功能取代?

或者还有其他方法可以在Swift 3中生成DES密钥吗?

1 个答案:

答案 0 :(得分:1)

为了使用Common Crypto和Swift,需要添加一个桥接头:

class Person
{
    public:
    // ...
        virtual void write(std::ostream& os);
    };

std::ostream& operator<<(std::ostream& os, const Person& p)
{
    p.write(os);
    return os;
}

class Worker : public Person
{
    public:
    // ...
        void write(std::ostream& os) override;
};

#import <CommonCrypto/CommonCrypto.h> 添加到项目中。

  

注意:

从密码生成密钥(密钥派生)时,需要使用相同的方法和参数。有几种常用的方法,PBKDF2是NIST经常使用和建议的方法。您知道用于密钥派生的方法和参数吗?