问题标签 [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.
javascript - SJCL 不连接位数组
我正在尝试使用使用 SJCL 的 RNCryptor-JS,但由于某种原因,SJCL 位数组连接似乎不起作用。
当我message
在第一组完成后记录输出时,返回的只是andsjcl.bitArray.concat
的第一个串联。最终的十六进制输出就是第一个串联和串联。这加强了我的怀疑,即它可能是 CryptoJS 的错,因为输出连接有效并且位于两个 sjcl 变量之间。version
iv
hmac
我尝试使用 SJCL 随机位数组,但遇到了一些麻烦。SJCL 的生成器 ,prng
使用时不工作
或者
而且sjcl.random.randomWords
似乎不再起作用了。
java - 为什么 JNCryptor/RNCryptor 库会抛出 InvalidHMACException?
我想使用 AES256 对称加密我的 iPhone 应用程序和我的 Java 服务器套接字。我目前正在使用 Rob Napier 的 RNCryptor/JNCryptor 库。iPhone 上的加密似乎运行良好,因为我能够再次解密加密的字符串。但是,一旦我尝试解密 Java 服务器套接字上的字符串,就会引发以下异常:
以下是用于发送加密数据的相关客户端代码片段(iOS/Objective-C):
这是在其套接字(Linux/Java)上接收加密数据的相应服务器代码:
有人知道我做错了什么吗?在发送数据之前,我是否必须使用 Base64 或类似的编码?任何帮助高度赞赏。
编辑:这是解决方案。我现在不使用基于字符的输入流,而是直接使用套接字中的 InputStream 来读取原始字节以提供解密算法:
javascript - SJCL CBC 模式不解密
使用使用 SJCL 的 RNCryptor。我正在尝试解密十六进制消息,但是在使用 CBC 模式时,事情变得很奇怪。显然,在使用 CBC 时必须声明一个当心声明,我得到一个错误。
在盐、密钥和哈希方面,一切都与 Python 端的加密相匹配。但我得到这个错误:
我认为该方法已被弃用,因此我尝试使用此 CryptoJS 方法:
这只是返回一个空白字符串。
我觉得我真的很接近,只是在最后一部分需要一些帮助,谢谢。
javascript - “无效的 AES 块大小”SJCL 解密
尝试使用使用SJCL 的 RNCryptor-js解密 AES 。在记录每一端的所有步骤后,(另一端是RNCryptor-python)密钥、盐、HMAC 哈希,一切都匹配。但是当我到达最后一步时:
我得到错误:
这是完整的代码:
PBKDF2:
解密(采用十六进制输入):
decrypted
在定义的倒数第二个语句上引发错误。
我查看了 sjcl 异常,看起来它正在寻找长度为 4 的输入,我猜它是一个 WordArray。我只是不知道如何获得有效的输入。就像我说的那样,密文、iv、hmac 标记、盐都在 javascript 端被正确分割。可能只是编码问题。
这个错误似乎也只发生在 json 上(格式:'{"key":"value"}'),当我尝试类似“Hello, world”之类的东西时,我得到了一个没有错误的 4 字数组。
有什么建议么?
ios - 创建需要(依赖于)另一个框架的框架
我想在 Swift 中使用 Cocoa Touch Framework Project 创建一个框架。但是,我在另一个名为 RNCryptor 的框架之上构建了这个框架,它是基于 Objective-C 的。我看过各种关于如何在 Xcode 中创建框架的教程,但没有一个教程涵盖了具有自己依赖项的框架。
我尝试创建一个框架项目,然后使用 CocoaPods 来管理它的依赖项。但是,出现了错误:'Check Dependencies' Unable to run command...'
所以问题是:是否有可能在 Xcode 中的另一个框架之上创建一个框架。如果是这样,怎么办?
ios - kRNCryptorAES256Settings 引用错误
我正在尝试在我的应用程序中使用 RNCryptor 进行一些数据加密。
看下面的代码:
体系结构 i386 的未定义符号:
“_kRNCryptorAES256Settings”,引用自:ChatBubbleViewController.o ld 中的 __TFC8UtraceUI24ChatBubbleViewController21textFieldShouldReturnfS0_FCSo11UITextFieldSb:未找到体系结构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我不确定为什么它会尝试查找带有下划线的常量名称;理想情况下,它应该尝试在 bridgesupport 和其他头文件中查找 kRNCryptorAES256Settings。
任何线索可能出了什么问题?
谢谢 !
ios - 生成和保存加密和解密密码的策略
我正在使用RNEncryptor
andRNDecryptor
类进行加密和解密,如下所示:
第一次我必须在我的应用程序中加密数据时,我使用以下RNCryptor
类生成密码:
我将此生成的密码保存在应用程序的钥匙串中,并将其用于所有后续加密和解密。
这是加密/解密的好策略还是任何人都可以看到其中的任何缺陷?我是否应该生成一个 AES 密钥并将其存储在钥匙串中并使用它而不是密码?
编辑:我根据 Rob Napier 的回答将上面生成密码的方式从使用NSProcessInfo
类更改为使用类。RNCryptor
除此之外,我仍然很想知道使用密码而不是 AES 密钥的一般策略是否正确和安全。
xcode - RNCryptor:在 Swift 中解密 AES128CBC
如何使用 RNCryptor (AES128CBC) 解密 NSData?我已经尝试了解文档:https ://github.com/RNCryptor/RNCryptor-Spec/blob/master/draft-RNCryptor-Spec-v4.0.md
编辑:
我更改了链接到的代码片段@zaph。你可以看到上面的结果。
NSString(data: cryptData, encoding: NSUTF8StringEncoding)
结果nil
。问题是什么?