Exemplo n.º 1
0
        public RemoteGroup(string primeString, string generatorString)
        {
            SHA1Managed sha1 = new SHA1Managed();

            generator = new BigInteger(2);
            byte[] primeBytes = RemotePassword.getBytes(primeString);
            prime = new BigInteger(primeBytes);

            byte[] generatorBytes = generator.ToByteArray();
            int    pad            = primeBytes.Length - generatorBytes.Length;

            byte[] buffer = new byte[primeBytes.Length + Math.Max(0, pad) + generatorBytes.Length];
            Array.Copy(primeBytes, 0, buffer, 0, primeBytes.Length);
            Array.Copy(generatorBytes, 0, buffer, primeBytes.Length + Math.Max(0, pad), generatorBytes.Length);
            byte[] kBytes = sha1.ComputeHash(buffer);
            k = new BigInteger(kBytes);
        }