Ich habe eine Base64-Zeichenfolge, die ich auf macOS durch Brechen der Zeichenfolge in 16 Bytes (Zeichen) pro Zeile dekodieren kann dann OpenSSL zu dekodieren:Decode Base64 Daten über IOS
Probe data.enc
:
RwSBFR7iQ5vQYLqZ
E60hJEyOaU4VVGcq
tvnB2A1zQEylNdN9
tTZIOfwGMwDbMZln
nvT7lm80L1MkvDNH
qivdRAV4Ymtizw3F
d3GWBZ+xFVIAk0H3
lQWzAr43G7TRCYfc
r5Ijuj0qGIEF1FLp
Y6tlYNMI0C3J6UXH
qnd3vu4XuwIHi1gV
ciOxuP+iqgjvjM3O
qy8sU0YITC3ywxPA
Sh14azvcPu9F1/KY
S1J1JzN3XsTzscHf
kdry0hbz5H0l+6Um
Uz9Sb9HTGxxx9mwF
B821I8DfZc2RGx8W
mFuaNzgLFhS6CdwF
G9yALPk4wBUqIxEA
y4w/oLPosQqZ7Z9L
JnQ4SA==
Decode Befehl:
openssl enc -d -base64 -in data.enc -out data.bin
Hier ist die RAW-base64-codierte Zeichenfolge:
R3LSQUyakgQKXoxCqw/v/o2LwPPthWSOgoyCKV/p60WE7tIVLTIf0mGiSGhXwK91cXYygsCoXyTEdMY4bquMhhV09R2DXVVD79IXBp+7mGSdTcYh4FUvZCMUmWCqjje2PiZUXIzfDgwrJcxKplNrX6T/oc70quz/X4rZv1Qu6BMDBzF/otsC0Q1qx3QzUobxsRaUaCltb1CSdExTZ3zWR8anuz5eaBct3ymM8XNA8zYv6CB44/P+yS6CqGOza/a5R5x04A06Un0hu+d+hsSxW2F9zdeODz3t7cPVZYiW9nyC9XzIXH01Oi25uHuC0otxLlfXU4adMHB4Lj6YrA3Uxg==
Die Daten in data.bin sind PKI-verschlüsselt und ich kann es auf iOS einfach entschlüsseln. Wenn ich cat
data.bin Ich sehe die verschlüsselten Daten (nur die ersten Zeichen angezeigt):
Gr?AL?? ^?B????????d????)_??E???-2?a?HhW??uqv2???
jedoch auf iOS, wenn ich versuche:
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"enc"];
NSString *text = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSData *data = [[NSData alloc] initWithBase64EncodedString:text options:0];
Dann Daten immer nil
.
Was bedeutet "PKI verschlüsselt" bedeuten? Ich sehe in Ihrer Frage keinen Verschlüsselungscode. Es gibt so etwas Kodierungskram. Auch, * "Ich kann es auf iOS ganz einfach entschlüsseln" * widerspricht direkt Ihrem Titel –
PKI bedeutet RSA-Verschlüsselung. Ich habe es nicht viel erwähnt, weil es mir keine Probleme bereitet, nur die base64-Codierung ist. In meinem obigen Beispiel kann ich die Base64-Zeichenkette mit OpenSSL dekodieren, aber _not_ nicht programmatisch mit 'initWithBase64EncodedString'. –
Ist 'text'' nil'? Was passiert, wenn Sie die Zeilenumbrüche aus dem "Text" herausstreichen? – thelaws