I'm working on an iOS app using Parse, and I need to simulate their encryption flow using Ruby for the website and browser extensions I'm building for it.
For generating the salt for AES, they have the following code in the iOS app:
NSString *str = user.email;
NSData *strData = [str dataUsingEncoding: NSUTF8StringEncoding];
NSData *encryptedData = [strData AESEncryptWithPassphrase:str]; // using the same key
What's puzzling me is dataUsingEncoding: NSUTF8StringEncoding -- it's obviously encoding the string in UTF-8, but when I see it in NSLog it seems quite different. So if str was "[email protected]", doing NSLog on strData outputs:
<72616e64 6f6d656d 61696c40 676d6169 6c2e636f 6d>
Now, how do I get that same output in Ruby? I can't get the right salt because of this ("[email protected]".encode("UTF-8") simply returns the email as expected). How can I simulate dataUsingEncoding in Ruby to get the same exact salt, is there something I'm missing?
Thanks