fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication10
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. var input = "t";
  14.  
  15. var ciphertext = encrypt(input);
  16.  
  17. Console.WriteLine(decrypt(ciphertext));
  18.  
  19. Console.ReadKey();
  20. }
  21.  
  22. public static string encrypt(string input)
  23. {
  24. string final;
  25.  
  26. string date = DateTime.Now.Date.ToString("MMddyyyy");
  27.  
  28. var datetime = int.Parse(date);
  29. List<double> semi = new List<double>();
  30. var bytes = Encoding.UTF8.GetBytes(input);
  31. for (int i = 0; i < bytes.Length; i++)
  32. {
  33. double y = bytes[i] * datetime / 100000;
  34. semi.Add(y);
  35. Console.WriteLine(y);
  36. }
  37.  
  38. Console.WriteLine(string.Join("", bytes));
  39.  
  40. final = string.Join(":", semi.ToArray()) + ":" + date;
  41. return final;
  42. }
  43.  
  44.  
  45. public static string decrypt(string input)
  46. {
  47. string final;
  48. string[] raw = input.Split(':');
  49.  
  50. int date = int.Parse(raw[raw.Length - 1].Replace("/", ""));
  51. var dump = new List<string>(raw);
  52.  
  53. dump.RemoveAt(raw.Length - 1);
  54. string[] stringbytes = dump.ToArray();
  55.  
  56.  
  57. List<byte> bytes = new List<byte>();
  58.  
  59. for (int i = 0; i < stringbytes.Length; i++)
  60. {
  61. var x = double.Parse(stringbytes[i]);
  62. Console.WriteLine(x);
  63.  
  64. x = x * 100000 / date;
  65. byte finalbytes = Convert.ToByte(x);
  66. bytes.Add(finalbytes);
  67.  
  68. }
  69. Console.WriteLine(string.Join("", bytes.ToArray()));
  70. Console.WriteLine(date);
  71. var bytearray = bytes.ToArray();
  72. final = Encoding.UTF8.GetString(bytearray);
  73.  
  74. return final;
  75. }
  76. }
  77. }
  78.  
Success #stdin #stdout 0.1s 24264KB
stdin
Standard input is empty
stdout
7078
116
7078
116
6102016
t