我是swift4中加密和解密程序的新开发人员,所以请您向我建议如何编码。我已经在尝试CryptoSwift了,但是我做不到。 我再次尝试使用AES加密和解密进行编码,但是我遇到无效的密钥长度,因为我的密钥长度大于32位。我在AES加密和解密功能中搜索了更多的32位密钥和vi,但没有更多的想法,因此我需要您的建议。
答案 0 :(得分:0)
因为我的密钥长度超过了32位。
3DES使用168、112或56位密钥,而AES使用128、192或256位密钥。您只需选择以下选项之一。
如果您具有自定义密钥大小,则理论上可以对密钥进行哈希处理(sha,md5,..),并从哈希中获取必要的位数。
如果要使用用户提供的密码作为密钥,则可以使用任何基于密码的派生功能(例如PBKDF2或任何其他慢速哈希)来派生密钥。