我是Objective-C的新手,我在编写代码时遇到了一些问题。
我在本文后面的Objective-C中实现了RSA算法:http://www.inf.pucrs.br/~calazans/graduate/TPVLSI_I/RSA-oaep_spec.pdf
此时我试图将非负整数转换为八位字符串(I2OSP)及其互补操作,将八位字符串转换为整数(OS2IP)。
我已经能够获得一种ItOSP功能,但它没有正确的行为。这就是我现在所拥有的:
-(void) ItoOSP:(int) i buffer:(char []) buffer{
OSStatus status = errSecSuccess;
if(i>=256){
status=errSecParam;
NSLog(@"Integer too long");
}
buffer[0] = (unsigned char)((i >> 24) & 255);
buffer[1] = (unsigned char)((i >> 16) & 255);
buffer[2] = (unsigned char)((i >> 8)) & 255;
buffer[3] = (unsigned char)(i & 255);
}
你可以给我任何暗示帮助我实现它吗?
我被困在这个洞里,如果没有它我就无法移动。
提前感谢您的帮助!
编辑:
方法的输入和输出是:
OS2IP(X) 输入:要转换的X八位字符串 输出:x对应的非负整数
I2OSP(x,l) 输入:要转换的x非负整数 l生成的八位字符串的预期长度 输出:X对应长度为l的八位字符串
在我提到的论文中,它似乎是伪代码来实现它们,但正如我所说,我在Objective-c(和C)中进行了菜鸟编程而且我不能发展它。