Ios 字符串AES PBKDF2的加密

Ios 字符串AES PBKDF2的加密,ios,encryption,aes,pbkdf2,Ios,Encryption,Aes,Pbkdf2,我是加密新手,我使用了所有类型的加密技术,但客户机特别询问PBKDF2加密技术。有什么帮助吗?PBKDF2是一种从密码创建安全加密密钥的方法PBKDF2代表“基于密码的密钥派生函数2”。 您还需要提供轮数,请参阅PBKDF2校准 AES是一种加密方法。AES代表“高级加密标准”。 您需要处理的其他事项: 加密模式 IV(初始化向量) 填充物 关键尺寸 iOS CommonCrypto支持PBKDF2和AES 您需要做的是两步流程: 使用PBKDF2从密码字符串创建加密密钥 然后使用加密密钥加

我是加密新手,我使用了所有类型的加密技术,但客户机特别询问PBKDF2加密技术。有什么帮助吗?

PBKDF2
是一种从密码创建安全加密密钥的方法
PBKDF2
代表“基于密码的密钥派生函数2”。
您还需要提供轮数,请参阅PBKDF2校准

AES
是一种加密方法。AES代表“高级加密标准”。
您需要处理的其他事项:

  • 加密模式
  • IV(初始化向量)
  • 填充物
  • 关键尺寸
iOS CommonCrypto支持
PBKDF2
AES

您需要做的是两步流程:

  • 使用PBKDF2从密码字符串创建加密密钥
  • 然后使用加密密钥加密数据

  • 最后,您需要确保加密密钥的安全。

    这是“加密”,而不是“加密”:)此外,在不了解加密技术的情况下处理加密技术可能会导致大量失败。您应该请外部顾问或同事帮助您。此外,请缩小范围。哪里需要
    PBKDF2
    ?告诉客户他们需要雇佣一名加密安全域专家。@Stefane个人认为,从安全角度来看,我不认为需要AES256而不是AES128。但是,我做了一些计时,在一些平台下AES256比AES128快!所以AES256确实是一个不错的选择。我理解这一点,但时间是有限的。还有其他一些东西在起作用,比如硬件AES助手指令,它们可能偏向256。以下是我的Mac:AES128迭代次数:100000:865.949毫秒,AES256迭代次数:100000:854.222毫秒。256并不总是更快。代码片段:CCCrypt(encryptOrDecrypt、kCCAlgorithmAES、kCCOptionPKCS7Padding、symmetricKey.bytes、kCCKeySizeAES256您不能“安全”加密密钥:您必须删除它!您需要保留加密消息的salt和PBKDF2轮数(这些不是秘密)。然后,通过再次运行PBKDF2并将密码作为输入,可以再次生成密钥进行解密。是的,这是正确的,并且存在需要多次使用密钥的情况,我已经完成了完整的磁盘加密,其中加密是逐扇区的。在会话期间,会要求使用的用户登录一次。在会话期间e会话使用密钥。