public void EncryptDecrypt_ToClient_Succeeds() { var version = (ushort)55; var aesKey = (ulong)0x52330F1BB4060813; var iv = (uint)0; var encryptor = new MapleCipher(version, aesKey); encryptor.SetIv(iv); var packet = new PacketWriter(); packet.WriteByte(1); packet.WriteShort(2); packet.WriteInt(4); packet.WriteLong(8); var originalPacket = packet.ToArray(); var encryptedPacket = encryptor.Encrypt(packet.ToArray().AsSpan(), true); var decryptor = new MapleCipher(version, aesKey); decryptor.SetIv(iv); var decryptedPacket = decryptor.Decrypt(encryptedPacket.ToArray().AsSpan()); Assert.AreEqual(originalPacket.ByteArrayToString(), decryptedPacket.ByteArrayToString()); }