public static License KeyToLicenseUnsafe(IDecoder decoder, string key) { char c; string text = LicenseConverter.ExtractKeyBody(key, out c); if (text == null) { return(null); } char c2 = c; if (c2 != 'C') { switch (c2) { case 'N': { NewLicenseSerializer newLicenseSerializer = new NewLicenseSerializer(); return(newLicenseSerializer.Deserialize(text, decoder)); } case 'P': { PlainLicenseSerializer plainLicenseSerializer = new PlainLicenseSerializer(); return(plainLicenseSerializer.Deserialize(text)); } } return(null); } OldLicenseSerializer oldLicenseSerializer = new OldLicenseSerializer(); return(oldLicenseSerializer.Deserialize(text, decoder)); }
public static string LicenseToKey(IEncoder encoder, License license) { NewLicenseSerializer newLicenseSerializer = new NewLicenseSerializer(); string arg = newLicenseSerializer.Serialize(license, encoder); return('N' + arg); }
public string Serialize(License license, IEncoder encoder) { byte[] data; using (MemoryStream memoryStream = new MemoryStream()) { NewLicenseSerializer.WriteLicenseToStream(license, memoryStream); data = memoryStream.ToArray(); } byte[] data2 = encoder.Encode(data); return(Base32Encoder.Encode(data2)); }
public License Deserialize(string key, IDecoder decoder) { byte[] data = Base32Decoder.Decode(key); byte[] buffer = decoder.Decode(data); License result; using (MemoryStream memoryStream = new MemoryStream(buffer)) { License license = NewLicenseSerializer.ReadLicenseFromStream(memoryStream); result = license; } return(result); }
private static void WriteLicenseToStream(License license, Stream stream) { BinaryWriter binaryWriter = new BinaryWriter(stream, Encoding.UTF8); binaryWriter.Write(license.Version); binaryWriter.Write((byte)license.Type); binaryWriter.Write((byte)license.Binding); binaryWriter.Write(license.Capacity); NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.LicensedTo); NewLicenseSerializer.WriteDateTime(binaryWriter, license.StartTime); NewLicenseSerializer.WriteDateTime(binaryWriter, license.EndTime); NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.LicenseId.ToString()); NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.PurchaseId); NewLicenseSerializer.WriteDateTime(binaryWriter, license.PurchaseDate); }
private static License ReadLicenseFromStream(Stream stream) { BinaryReader binaryReader = new BinaryReader(stream, Encoding.UTF8); return(new License { Version = binaryReader.ReadByte(), Type = (LicenseType)binaryReader.ReadByte(), Binding = (LicenseBinding)binaryReader.ReadByte(), Capacity = binaryReader.ReadInt32(), LicensedTo = NewLicenseSerializer.ReadBytePrefixedString(binaryReader), StartTime = NewLicenseSerializer.ReadDateTime(binaryReader), EndTime = NewLicenseSerializer.ReadDateTime(binaryReader), LicenseId = new Guid(NewLicenseSerializer.ReadBytePrefixedString(binaryReader)), PurchaseId = NewLicenseSerializer.ReadBytePrefixedString(binaryReader), PurchaseDate = NewLicenseSerializer.ReadDateTime(binaryReader) }); }