public virtual void Generate(object armorToken)
        {
            Execute();
            next.Generate(ArmorTokenGenerationStepResult.Output);

            ArmorTokenGenerationStepResult = next.ArmorTokenGenerationStepResult;
        }
        public override void Execute()
        {
            var encrytionMechanism = encryptionMechanismFactory.CreateEncryptionMechanism(Encoding.UTF8.GetBytes(armorToken));

            encrytionMechanism.Execute();

            ArmorTokenGenerationStepResult = new ArmorTokenGenerationStepResult {
                Output = encrytionMechanism.Output
            };
        }
        public override void Execute()
        {
            var hashingMechanism = hashingMechanismFactory.CreateHashingMechanism(armorToken);

            hashingMechanism.Execute();

            ArmorTokenGenerationStepResult = new ArmorTokenGenerationStepResult {
                Output = hashingMechanism.Output
            };
        }