我一直在研究加密算法,现在我想加密整个字符串而不仅仅是数字。如何获取Objective-C中每个字符的数字表示?我已经有一个包含给定字符串的所有单个字符的数组,我只需要找到一种方法来获取它的数字。 我不确定iOS是否使用unicode,但是如果Id只需要获取unicode值并将其转换为正确的数字?但是我该怎么做?
非常感谢:) 安东
答案 0 :(得分:0)
加密算法通常按字节序列运行,因此您应该选择a
字符串编码将NSString
(内部使用Unicode)转换为
字节序列。例如:
NSString *string = @"Hello World";
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", data); // <48656c6c 6f20576f 726c64f0 9f9884>
const uint8_t *bytes = [data bytes]; // Pointer to UTF-8 bytes
NSUInteger length = [data length]; // Number of UTF-8 bytes
现在您可以加密bytes[0], ..., bytes[length-1]
(全部在0 .. 255范围内)。