public static DarkRiftReader DecryptReaderRSA(this DarkRiftReader reader, RSAParameters privateKey) { if (reader.Length > 256) { throw new ArgumentOutOfRangeException(nameof(reader), "reader mustn't contain more then 256 bytes"); } byte[] data = new byte[256]; for (int i = 0; i < 256; i++) { data[i] = reader.ReadByte(); } data = DecryptRSA(data, privateKey); DarkRiftWriter writer = DarkRiftWriter.Create(); writer.WriteRaw(data, 0, data.Length); Message message = Message.Create(0, writer); DarkRiftReader newReader = message.GetReader(); message.Dispose(); writer.Dispose(); reader.Dispose(); return(newReader); }
public static DarkRiftReader DecryptReaderAES(this DarkRiftReader reader, byte[] key) { byte[] data = reader.ReadRaw(reader.Length); data = Decrypt_Aes(data, key); DarkRiftWriter writer = DarkRiftWriter.Create(); writer.WriteRaw(data, 0, data.Length); Message message = Message.Create(0, writer); DarkRiftReader newReader = message.GetReader(); message.Dispose(); writer.Dispose(); reader.Dispose(); return(newReader); }