问题标签 [rncryptor]

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 投票
1 回答
583 浏览

ios - 试图理解 RNCryptor

我正在做一个项目,我们需要加密一些用户凭据(用户名、密码、用户 ID 等)以传递给我们的服务器。我们决定使用AES256以实现这一目标。在对这个主题进行一些研究时,很难避免注意到一个项目,RNCryptor该项目声称是解决这个问题的一个易于使用的解决方案。

所以我将这个框架包含在我的项目中,并很快意识到它并不像我想象的那么简单。我希望有一个解决方案,我可以通过简单地加密我的凭据字符串 - ( 1 ) 派生一个我想用来加密我的字符串凭据的密钥,( 2 ) 将密钥和我的字符串传递到适当RNCryptor的方法中, ( 3 ) 从所述方法中取回我的加密字符串。

然而,这太好了,令人难以置信。

的现实RNCryptor是它有这样的方法:

由于术语,这令人困惑。

什么是密码?

这从来没有解释过。什么密码?这是我要加密的用户密码、我要加密的密码密钥还是登录我的计算机的密码(讽刺)。

加密数据?

这是我要加密的用户凭据的 UTF8 编码字符串吗?这是我最好的猜测,但在RNCryptorGithub“文档”中没有解释。

0 投票
1 回答
1162 浏览

swift - 使用 RNCryptor 解密 base64 编码和 aes 加密的字符串

我只是 RNCryptor 的新手,但我得到了一个经过加密和 base64 编码的示例字符串。我正在尝试使用 RNCryptor 解密函数以纯文本形式查看字符串。

我尝试了以下方法:

我这样称呼它:

fromBase64 看起来像这样:

我收到错误 connect.RNCryptor.Error 错误 2。为什么会这样?它与字符串既是base 64编码又是加密的事实有任何关系吗?

密码正确。

0 投票
2 回答
2573 浏览

encryption - 如何以符合 PCI 的方式在 iOS / Android 上存储信用卡信息

我正在构建一个接受付款的移动应用程序。用户输入他们的 CC 详细信息,付款信息通过 HTTPS 提交到零售商的 POS 系统。POS 直接处理付款并需要实际的信用卡信息才能工作,因此我们不能使用像 Stripe 这样的服务来存储卡,并给我们一个令牌来处理付款。

由于应用程序的性质,用户将定期付款,因此我想存储他们的 CC 信息以方便使用。但是,这不是定期计费,用户将随意发起交易。因此,我不需要将 CC 集中保存在服务器上,我正在考虑使用这种方法在每个用户的设备上存储单独的卡:

  • 收集 CC 编号和到期日期
  • 使用 AES256 加密,使用 CVC 作为密钥(CVC 未存储)
  • 然后将加密的数据存储在 iOS 钥匙串中(或等效于 Android)
  • 为了进行支付,(a) 从钥匙串中取出数据,并且
  • (b) 用户必须输入 CVC 才能解密 CC 信息

这个想法是,如果用户知道 CVC,他们可能无论如何都拥有该卡,因此他们不需要尝试破解设备。

对于加密,我正在考虑使用RNCryptor lib。它的主要功能之一是将常用密码自动转换为两个 256 位密钥的加密“随机”字节序列,用于加密和身份验证。密钥拉伸是通过 10k 轮 PBKDF2 实现的。实现细节在链接中,但简而言之:

  • AES-256 加密
  • CBC模式
  • 使用 PBKDF2 进行密码拉伸
  • 密码加盐
  • 随机四
  • 加密然后散列 HMAC


问题:

我对数学的理解还不够好,无法判断仅用 3 个 CVC 数字播种 RNCryptor 的密钥拉伸实现是否会产生统计上足够随机的密钥。我无法找到任何有关 RNCryptor 保持安全所需的密码规范的文档。对此的任何想法将不胜感激。使用这个库就像这样简单:

在 iOS 钥匙串(或 droid 等效项)上讲述AES256 加密的CC 信息时,是否启用设备锁定密码是否重要?我的想法是,信息已经是 AES256 加密的,它可以存储在设备上而无需钥匙串的加密吗?

鉴于没有存储大量 CC 编号的中央服务器,在这种情况下,PCI 合规性的哪些部分是相关的?我尝试阅读 PCI 规范,但文档是一个迷宫:(

0 投票
0 回答
411 浏览

ios - Firebase/Swift 搜索加密数据?

帮助!

我正在使用 xcode 8 和 swift。我制作了这个应用程序,它可以将数据上传到一些数据被加密的 firebase。在我进行加密之前,我做了一个搜索功能,可以很好地搜索所有数据。现在我已经为一些数据添加了加密,我无法搜索加密的数据。因此我需要在搜索之前对其进行解密,但是我不知道该怎么做。

如果我们一步一步来...

对于加密我使用 RNCryptor 和 Cryptoswift。在我的一个视图控制器中,我制作了一个扩展字符串,其中 2 个函数是:

首先我加密并上传数据:

我从数据库中获得的加密密钥和 iv,但这不是问题。加密后的输出如下图。

输出

如您所见,有些数据是加密的,有些则不是。正如计划。

现在我需要在应用程序中搜索数据。为此,我做了一个搜索功能,其中包括:

问题是因为数据是加密的,我只能搜索加密的字符串,它现在是加密的值。因此我需要做一些事情,让我在搜索之前解密数据?

为此,我需要帮助。

如果您需要任何其他信息或者可能不理解某些代码,请告诉我。

我希望你能帮忙。

帮助!

0 投票
0 回答
219 浏览

ios - 在 sqlite 中保存 RNcryptor 输出的数据类型

我正在使用 RNCryptor 加密我的数据。我想保存该加密数据并存储在 sqlite 中,然后将其取回并发送到解密功能。

我尝试将加密的输出保存为 sqlite 中的字符串,但它不起作用。

有人可以建议我可以使用什么数据类型吗?

使用 blob 会是更好的选择吗?谢谢

0 投票
2 回答
1991 浏览

ios - RNCryptor is not decrypting in iOS

I am using RNCryptor in my application. I generated an encrypted string for a plain text using a password and when I try to decrypt the encrypted string using a password, it does not give me the original plain text instead it gave me some random string.

I guess I am missing something in string encoding/decoding but I am not sure what I am missing here.

Can you please guide me to fix this?

Code

ENCRYPTED TEXT : AwEsB6wlUSIJ31TAbaeAjVXP272zW89aa2rR9v6zYWwKUf6Hs5GSHekMKQT+n0vw6jMtjsQVhtzO 8AcqGpTLrQ9YR0PUS07P+8HboCp6Ge8UxQ==

DECRYPTED TEXT : MTIzNDU2Nzg5

0 投票
2 回答
272 浏览

c# - 解密使用 RNCryptor 加密的字节

有一个第三方应用程序使用RNCryptor使用 AES256 加密文件,我正在尝试在我的 C# 应用程序中解密这些文件。我得到的只是密钥大小(256)和密码字符串。

以下是文件在发送给我之前的加密方式:

我仍在学习如何加密/解密,所以我不确定如何处理这个问题。我在这里看到的所有解密示例似乎都需要 IV 和 salt(有时甚至需要密码迭代),但正如您从上面的代码中看到的那样,当文件被加密时,没有提到任何这些事情。

这是我到目前为止所得到的:

所以我发现我可以从前 16 个字节中获取 IV,但这仍然存在加密密钥的问题,我无法在没有盐值的情况下将其转换为字节。

我感到失落。我在这里做什么?

0 投票
1 回答
4378 浏览

python - 将加载为二进制字符串的图像转换为 numpy 数组

有没有一种方法可以将作为二进制字符串加载的图像转换为大小为(im_height、im_width、3)的 numpy 数组?像这样的东西:

该转换函数会是什么样子?我正在使用解密,因此我需要使用二进制字符串。谢谢!

0 投票
0 回答
220 浏览

ios - 将 API 响应解密为字符串

我正在使用 RNCryptor 转换加密数据以响应服务调用。我得到的响应是 string 。如何使用 RNCryptor 解密字符串响应。通过使用上面的代码,我得到了 nil 值。

0 投票
1 回答
384 浏览

objective-c - 如何在 Swift 中添加 RNCryptor

我是 Swift 的新手,我想使用加密。当我添加 RNCryptor 时,我收到一条错误消息“找不到模块”。