如何在目标c中将unsigned char数组转换为NSData?
这是我想要做的,但它不起作用.Buffer是我的unsigned char数组.
NSData *data = [NSData dataWithBytes:message length:length];
Run Code Online (Sandbox Code Playgroud) #include <openssl/md5.h>
void mMD5(unsigned char * packet, int size) {
unsigned char* res;
MD5((unsigned char*)&packet, size, (unsigned char*)&res);
for(int i=0; i<MD5_DIGEST_LENGTH; i++) {
printf("%02x", res[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到错误:未定义的引用 MD5
谁能帮我?
我正在使用英特尔的at&t语法处理汇编程序.
我输了,如何将寄存器中的整数转换为ascii数?
假设我想转换数字10,我将把数字10放在寄存器%eax中.如果我只是将数字48添加到%eax,ascii符号将是:
我想在1中添加48,然后在数字10中添加48到0.我怎么能这样做?
示例代码:
mov $10, %eax
#Cut the number in some way.
add $48, %eax
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用该功能
int rand(void)
Run Code Online (Sandbox Code Playgroud)
在集会中.
我该如何使用它?我想得到0到20之间的随机数.
我怎样才能做到这一点?
我正在使用Ubuntu 32位操作系统并使用at&t汇编语法.这是我的代码示例,我希望它在%edx注册表中放置0到20之间的随机数.
编辑:
mov $APPLES_X, %ebx
mov $0, %ecx
mov $20, %edx
loop_ax:
call rand
idiv %edx
mov %edx, (%ebx)
add $4, %ebx
inc %ecx
cmp NAPPLES, %ecx
jne loop_ax
Run Code Online (Sandbox Code Playgroud) 我正在尝试提取.p12文件并将其用于针对我自己的服务器的双向身份验证.当我正在尝试编译时,我得到一些链接错误.错误是指:
这是我用来提取p12文件的代码:
-(void)clientCert
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"torbix" ofType:@"p12"];
NSData *p12data = [NSData dataWithContentsOfFile:path];
CFDataRef inP12data = (CFDataRef)p12data;
SecIdentityRef myIdentity;
SecTrustRef myTrust;
OSStatus status = extractIdentityAndTrust(inP12data, &myIdentity, &myTrust);
SecCertificateRef myCertificate;
SecIdentityCopyCertificate(myIdentity, &myCertificate);
const void *certs[] = { myCertificate };
CFArrayRef certsArray = CFArrayCreate(NULL, certs, 1, NULL);
}
OSStatus extractIdentityAndTrust(CFDataRef inP12data, SecIdentityRef *identity, SecTrustRef *trust)
{
OSStatus securityError = errSecSuccess;
CFStringRef password = CFSTR("password");
const void *keys[] = { kSecImportExportPassphrase };
const void *values[] …Run Code Online (Sandbox Code Playgroud)