Exemplo n.º 1
0
 public UsersService(IUnitOfWork unit, IMapper mapper, IPasswordHasher <User> hasher, Anonymiser <User> anonymiser, IFilesService files)
     : base(unit, mapper)
 {
     Hasher     = hasher;
     Anonymiser = anonymiser;
     Files      = files;
 }
 public void TestStringKey()
 {
     using (var anonymiser = new Anonymiser("n1dn5emfcakghfo13nbsjfdk3mbuk83h")) {
         var input    = IPAddress.Parse("129.69.205.36");
         var actual   = anonymiser.Anonymise(input);
         var expected = IPAddress.Parse("97.2.50.215");
         Assert.AreEqual(expected, actual);
     }
 }
Exemplo n.º 3
0
        public async Task Anonymise(long id)
        {
            var user = await Unit.Users.Get(id);

            if (user.PhotoId.HasValue)
            {
                await Files.Remove(user.PhotoId.Value);
            }

            user = Anonymiser.Anonymise(user);
            await Unit.Complete();
        }
 public void TestIPAddress6()
 {
     using (var anonymiser = new Anonymiser(Key)) {
         foreach (var t in IPv6)
         {
             var input    = IPAddress.Parse(t.Key);
             var actual   = anonymiser.Anonymise(input);
             var expected = IPAddress.Parse(t.Value);
             Assert.AreEqual(expected, actual);
         }
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Initialises a new instance.
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="anonymiser"></param>
 /// <param name="stringScrambler"></param>
 /// <param name="writer"></param>
 public JsonProcessor(Configuration configuration,
                      Anonymiser anonymiser, StringScrambler stringScrambler,
                      TextWriter writer)
 {
     this._anonymiser = anonymiser
                        ?? throw new ArgumentNullException(nameof(anonymiser));
     this._configuration = configuration
                           ?? throw new ArgumentNullException(nameof(configuration));
     this._stringScrambler = stringScrambler
                             ?? throw new ArgumentNullException(nameof(stringScrambler));
     this._writer = writer;
 }
 public void TestBytes64()
 {
     using (var anonymiser = new Anonymiser(Key)) {
         foreach (var t in IPv4)
         {
             var input    = IPAddress.Parse(t.Key).GetAddressBytes();
             var output   = anonymiser.Anonymise(input);
             var actual   = new IPAddress(output);
             var expected = IPAddress.Parse(t.Value);
             Assert.AreEqual(expected, actual);
         }
     }
 }
 public void TestDeanonymise6()
 {
     using (var anonymiser = new Anonymiser(Key)) {
         foreach (var t in IPv6)
         {
             var expected     = IPAddress.Parse(t.Key);
             var input        = expected.GetAddressBytes();
             var anonymised   = anonymiser.Anonymise(input);
             var deanonymised = anonymiser.Deanonymise(anonymised);
             var actual       = new IPAddress(deanonymised);
             Assert.AreEqual(expected, actual);
         }
     }
 }
Exemplo n.º 8
0
        internal static async Task <int> Main(string[] args)
        {
            try {
                await Parser.Default.ParseArguments <Options>(args)
                .WithParsedAsync(async o => {
                    var output = o.IsVerbose ? Console.Out : null;
                    var config = await Configuration.Load(o.Configuration, output)
                                 .ConfigureAwait(false);

                    using (var anonymiser = new Anonymiser(config.CryptoPAnKey))
                        using (var scrambler = new StringScrambler(config.StringCryptoKey)) {
                            var processor = new JsonProcessor(config, anonymiser,
                                                              scrambler, output);

                            if (o.IsStandardInput)
                            {
                                string l;
                                var sb = new StringBuilder();

                                while (((l = Console.ReadLine()) != null) &&
                                       (l != string.Empty))
                                {
                                    sb.Append(l);
                                }

                                Console.WriteLine(processor.ProcessRecord(sb.ToString()));
                            }
                            else
                            {
                                await processor.ProcessAsync().ConfigureAwait(false);
                            }
                        }
                });


                return(0);
            } catch (Exception ex) {
#if DEBUG
                if (Debugger.IsAttached)
                {
                    Debugger.Break();
                }
#endif // DEBUG
                Console.Error.WriteLine(ex.Message);
                return(-1);
            }
        }
        public void TestReference4()
        {
            using (var anonymiser = new Anonymiser(Key)) {
                foreach (var t in IPv4)
                {
                    var address = IPAddress.Parse(t.Key).GetAddressBytes();
                    var input   = BitConverter.ToUInt32(address, 0);
                    input = (uint)IPAddress.NetworkToHostOrder((int)input);

#pragma warning disable CS0618
                    var output = anonymiser.Anonymise4(input);
#pragma warning restore CS0618
                    output = (uint)IPAddress.HostToNetworkOrder((int)output);
                    var actual = new IPAddress(output);

                    var expected = IPAddress.Parse(t.Value);
                    Assert.AreEqual(expected, actual);
                }
            }
        }