我正在使用 Parse 开发 iOS 应用程序,我需要使用 Ruby 为我正在为其构建的网站和浏览器扩展来模拟他们的加密流程。
为了生成盐AES
,他们在 iOS 应用程序中有以下代码:
NSString *str = user.email;
NSData *strData = [str dataUsingEncoding: NSUTF8StringEncoding];
NSData *encryptedData = [strData AESEncryptWithPassphrase:str]; // using the same key
令我困惑的是 dataUsingEncoding: NSUTF8StringEncoding
-- 它显然是用 UTF-8 编码字符串,但是当我在 NSLog 中看到它时,它似乎完全不同。因此,如果 str 是“randommail@gmail.com”,则NSLog
在 strData 输出上执行:
<72616e64 6f6d656d 61696c40 676d6169 6c2e636f 6d>
现在,我如何在 Ruby 中获得相同的输出?因此,我无法获得正确的盐(“randomemail@gmail.com”.encode("UTF-8") 只是按预期返回电子邮件)。如何在 Ruby 中模拟 dataUsingEncoding 以获得相同的精确盐,有什么我遗漏的吗?
谢谢