Esempio n. 1
0
        private void DivideAndAdd(PassItem pass)
        {
            var passPart1Bytes = new byte[MaxPassLength];
            _rngCsp.GetBytes(passPart1Bytes);

            var realPassBytes = pass.GetBytes();

            var passPart2Bytes = XORArrays(passPart1Bytes, realPassBytes);

            if (!CheckCorrect(passPart1Bytes, passPart2Bytes, realPassBytes))
                throw new Exception("WTF? Xor worked funny..");

            var part1Pass = pass.GetCopy();
            part1Pass.Pass = passPart1Bytes;
            Part1List.Add(part1Pass.Id.Value, part1Pass);

            var part2Pass = pass.GetCopy();
            part2Pass.Pass = passPart2Bytes;
            Part2List.Add(part2Pass.Id.Value, part2Pass);
        }