Iphone 在Objective-C中从iDynamo阅读器读取加密数据
你知道有谁有这方面的经验吗?此读卡器正在使用Iphone 在Objective-C中从iDynamo阅读器读取加密数据,iphone,objective-c,ios,encryption,Iphone,Objective C,Ios,Encryption,你知道有谁有这方面的经验吗?此读卡器正在使用DES-CBC加密卡数据。有人知道如何解密这些数据吗 非常感谢您抽出时间。如果这太晚了,很抱歉,但可能会对其他人有所帮助。因此,解决方案是联系Magtek。如果您购买Magtek设备,请向他们索取lib。我从Magtek得到了libDS247.a。然后将DS247.h导入到代码中,实现DS247委托。我在此为您提供一个样本- (void)deviceDidConnect { if (theAlertView.visible) [theA
DES-CBC
加密卡数据。有人知道如何解密这些数据吗
非常感谢您抽出时间。如果这太晚了,很抱歉,但可能会对其他人有所帮助。因此,解决方案是联系Magtek。如果您购买Magtek设备,请向他们索取lib。我从Magtek得到了libDS247.a。然后将DS247.h导入到代码中,实现DS247委托。我在此为您提供一个样本-
(void)deviceDidConnect
{
if (theAlertView.visible)
[theAlertView dismissWithClickedButtonIndex:0 animated:NO];
}
- (void)deviceDidDisconnect
{
theAlertView = [[UIAlertView alloc] initWithTitle:@"Hardware Not Connected!"
message:@"Please connect the device."
delegate:self
cancelButtonTitle:nil otherButtonTitles:nil];
[theAlertView show];
[theAlertView release];
}
- (void)magneticCardReadStart
{
read = YES;
[self.tableView reloadData];
}
- (void)magneticCardReadDidFinish:(NSString *)cardString
{
read = NO;
if (trackMode == 67)
{
NSString *string = [cardString substringWithRange:NSMakeRange(6,20)];
self.pan1 = [[string componentsSeparatedByString:@"^"] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(7+pan1.length,27)];
self.name = [[string componentsSeparatedByString:@"^"] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(8+pan1.length+name.length,4)];
self.ed1 = string;
self.ed2 = @"";
self.pan2 = @"";
}
if (trackMode == 68)
{
NSString *string = [cardString substringWithRange:NSMakeRange(5,20)];
self.pan2 = [[string componentsSeparatedByString:@"="] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(6+pan2.length,4)];
self.ed2 = string;
self.ed1 = @"";
self.name = @"";
self.pan1 = @"";
}
if (trackMode == 69 || trackMode == 70)
{
NSString *string = [cardString substringWithRange:NSMakeRange(7,20)];
self.pan1 = [[string componentsSeparatedByString:@"^"] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(8+pan1.length,27)];
self.name = [[string componentsSeparatedByString:@"^"] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(9+pan1.length+name.length,4)];
self.ed1 = string;
string = [cardString substringWithRange:NSMakeRange(83,20)];
self.pan2 = [[string componentsSeparatedByString:@"="] objectAtIndex:0];
string = [cardString substringWithRange:NSMakeRange(84+pan2.length,4)];
self.ed2 = string;
}
if (trackMode == 71)
{
self.ed1 = @"";
self.ed2 = @"";
self.pan1 = @"";
self.pan2 = @"";
self.name = @"";
}
[self.tableView reloadData];
}
默认情况下,应将trackMode设置为67,并且cardString是原始卡数据检查此链接是否有助于您。谢谢