getMobiKeyV1 static method
Implementation
static List<int> getMobiKeyV1(MobiData data) {
final rec = data.mobiPdbRecord!;
int mobiVersion = getFileVersion(data);
MobiBuffer buffer;
if (mobiVersion > 1) {
if (data.mobiHeader?.headerSize == null) {
throw MobiInvalidDataException("MobiHeader is not loaded");
}
int offset = 0;
if (mobiVersion > 2) {
offset = 12;
}
buffer = MobiBuffer(rec.data!,
data.mobiHeader!.headerSize! + record0HeaderLength + offset);
} else {
buffer = MobiBuffer(rec.data!, 14);
}
final encodedKey = buffer.getStringAsByte(keySize);
return decryptPk1(encodedKey, keySize, internalReaderKeyV1);
}