public string Encode(string input) { int[] output = new int[input.Length]; output = f.Encode(input); for (int i = 0; i < output.Length; i++) { r1.Tourner(); if (r1.Position == r1.Encoche) { r2.Tourner(); if (r2.Position == r2.Encoche) { r3.Tourner(); } } output[i] = r1.Encode(output[i]); output[i] = r2.Encode(output[i]); output[i] = r3.Encode(output[i]); output[i] = r.Encode(output[i]); output[i] = r3.ReverseEncode(output[i]); output[i] = r2.ReverseEncode(output[i]); output[i] = r1.ReverseEncode(output[i]); } output = f.Encode(output); return(Utility.ToString(output)); }