【发布时间】:2015-01-20 05:28:35
【问题描述】:
我通过 swift 编写了一个应用程序,我需要 AES 加密和解密功能,我从另一个 .Net 解决方案接收到加密数据,但我找不到可以做的事情。
这是我的 .net 加密:
public static byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
{
byte[] encryptedBytes = null;
byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);
cs.Close();
}
encryptedBytes = ms.ToArray();
}
}
return encryptedBytes;
}
我需要快速解密函数。
【问题讨论】:
-
我找到了,github.com/Pakhee/Cross-platform-AES-encryption 我可以将Objective-C文件添加到我的项目中,但是调用方法和返回值有很多问题,swift和objective-C不兼容: (
-
你找到解决方案了吗,我需要同样的 iOS 解决方案。
标签: ios swift encryption aes cryptoswift