问题标签 [cryptoswift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
251 浏览

php - 将 AES-256-CBC PHP 代码转换为 Swift 与 PHP 的结果不匹配

我无法使用CryptoSwift将代码从我的 PHP 后端转换为 Swift 。它是 AES-256-CBC,但要么我收到invalidKeySize错误,要么产生的输出与预期的输出不匹配。

我的 PHP 代码是

据我所知,我需要一个 16 字节 IV 和一个 32 字节密钥,因为它是 256 加密。我用swift写这个的尝试是,

这会给我一个 32 字节的密钥,但结果不是我从 PHP 获得的预期结果。如果我不添加,.prefix(32)我不会得到 32 字节长度的密钥,这会产生无效的密钥大小错误。

0 投票
1 回答
664 浏览

swift - 在 ECB 模式下解密 AES

我正在尝试解密一个简单的帧:

由以下密钥加密:

我知道结果将是(明文):

在我的快速代码下方:

将加密消息转换为字符串:

将密钥转换为字符串:

然后我使用 CryptoSwift 执行 AES 解密功能:

我的问题是当我尝试获取这样的解密消息时:

我得到:Error: invalidData

如果有人有一个想法,我不明白我在哪里做错了。我确定 ECB 模式和 noPadding 选项。

谢谢!

0 投票
0 回答
435 浏览

ios - 如何在swift中使用带有PKCS5PADDING的AES-256 CFB解密字符串?

我正在寻找使用 AES 解密字符串,我尝试了 SO 的多个解决方案,但没有一个有帮助,我无法获得解决方案。android 开发人员使用Cipher执行以下操作的代码是:-

同样,我尝试使用CryptoSwift来执行此操作,下面是我用来执行此操作的代码:-

}

在 ViewDidLoad() 我这样称呼它:-

当我传递与android相同的iv时,我想强调的另一件事是"{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }"我从CryptoSwift库中收到错误为invalidInitializationVector但是当我通过 iv:"0000000000000000" 我收到一个错误 -->

我相信这与我在那里经过的静脉注射有关。

伙计们任何帮助将不胜感激!

谢谢你

0 投票
0 回答
204 浏览

ios - IOS 使用 CryptoSwift 解密字符串

我想解密 base64 中的字符串,当我从解密的数据创建字符串时,我的字符串中得到 nil。

这是我的代码:

0 投票
1 回答
240 浏览

java - AES GCM 密钥派生 swift

我正在尝试以swift与我在 java 中的代码等效的方式实现。基本上是一个AES带有GCM填充的实现,我为此使用了一个密钥派生。在swift我使用CryptoSwift图书馆。

我的问题是我无法在swift. 经过很长时间的研究,我找不到任何解决问题的方法,我什至看到了CryptoSwift库存储库的测试代码以获得任何想法,但没有运气

这是我的java代码:

这是我的快速代码:

任何帮助,将不胜感激。

0 投票
1 回答
4404 浏览

ios - iOS AES 256 解密不能快速工作

我有一些数据将在 JSON 响应中加密的场景。所以我尝试了一些库来快速解密。但最终我没能做到。

所以我尝试了这个库WebCryptohttps ://github.com/etienne-martin/WebCrypto.swift

哪个工作正常,但调用是异步的,我需要同步。

早些时候我试过这些

  1. RNCryptorhttps ://github.com/RNCryptor/RNCryptor
  2. CryptoSwifthttps ://github.com/krzyzanowskim/CryptoSwift

RNCryptor:代码

CryptoSwift:代码

我有一个密钥 = “消息” 和加密文本(“我的消息尚未准备好”) =“ U2FsdGVkX187YbST7kZBjdhI6tGa2YQE5e3bS4WNhaXgi0iy//q5TOfR/q6Sc1Lx

如何使用上述两个库中的任何一个来解密此字符串?

我总是得到零或无效的密钥大小。

0 投票
2 回答
474 浏览

swift - Swift - AES base64 + md5 解密

我正在尝试解密从我们的服务器发送的消息。

我们的服务器和我的 Android 客户端都使用这里的加密代码:
https ://gist.github.com/jafetsanchez/1080133

  • 服务器使用 CS 码加密消息
  • 我的 android 客户端使用 java 代码来解密消息

我想用 Swift 将解密功能添加到我的 iPhone 客户端应用程序中。但是我不确定如何使用 iOS 工具来做到这一点。

我正在使用 CryptoSwift

这是我试图做的:

现在我收到错误: CryptoSwift.AES.Error.dataPaddingRequired

另外,我不确定如何在那里组合 MD5 散列。

0 投票
1 回答
626 浏览

swift - 由于 base64 编码的 aesKey 和 aesIV,CryptoSwift 抛出 invalidKeySize

我有一个从 API 检索数据并在应用程序中显示的项目。但是 API 使用 AES 加密,我有 aesKey 和 aesIV 密钥,这些密钥是 base64 编码的。我需要用这些键编码另一个字符串。为此,我使用 CryptoSwift 库,但是当我尝试使用此密钥对字符串进行加密时,swift 控制台会警告我有关 invalidKeySize。我尝试从 base64 解码为字符串,但效果不佳。这些是示例的键;

密钥和 IV 大小为 AES256,对于加密和解密,我需要使用 PKCS7 填充类型和 ECB/CBC 块模式

0 投票
0 回答
259 浏览

encryption - 为什么 CryptoSwift 中的 IV="" 加密在 Swift5 上不起作用?

我在尝试加密我的密码时出错。我找不到为什么encryption(iv = "")在 swift 3 中运行良好但现在iv = ""在 swift 5 中无法运行的原因。我该如何解决这个问题?

我很困惑,因为在 swift 5 iv 中 16byte 可用,但在 swift 3 iv = "" 运行良好之前。

0 投票
2 回答
196 浏览

swift - CryptoSwift - 在 iOS 中对小于 16 字节的字符串使用 makeEncryptor() 时获得 nil

我正在使用 cryptoSwift 库进行加密和解密。但它只使用 16 个字节的字符串。如果我传递的是小字符串或少于 16 个字节,则结果为零。

我正在使用增量操作使用 Cryptor 的实例并一次加密/解密一个部分。

请在这里帮助我,我做错了什么。

提前致谢。