Hat jemand Erfahrung mit dem iDynamo-Leser ? Dieser Leser verwendet DES-CBC
um Kartendaten zu verschlüsseln. Weiß jemand, wie man diese Daten entschlüsseln kann?
Vielen Dank für Ihre Zeit.
Hat jemand Erfahrung mit dem iDynamo-Leser ? Dieser Leser verwendet DES-CBC
um Kartendaten zu verschlüsseln. Weiß jemand, wie man diese Daten entschlüsseln kann?
Vielen Dank für Ihre Zeit.
Tut mir leid, wenn es zu spät ist, aber vielleicht hilft es ja jemandem weiter. Die Lösung ist also, Magtek zu kontaktieren. Wenn Sie ein Magtek-Gerät kaufen, fragen Sie sie nach der lib. Ich habe libDS247.a von Magtek erhalten. Dann importieren Sie DS247.h in Ihren Code und implementieren das DS247Delegate. Ich stelle hier ein Beispiel für Sie zur Verfügung -
(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];
}
Der TrackMode sollte standardmäßig auf 67 gesetzt werden, und der cardString sind die Rohdaten der Karte
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Prüfen Sie, ob dieser Link Ihnen helfen kann stackoverflow.com/questions/9152395/ . Danke!