Exemple #1
0
        private static string DoEncrypt(string input, SysCrypt.RSACryptoServiceProvider rsa)
        {
            if (input == null) return null;

            byte[] bytes = Encoding.UTF8.GetBytes(input);
            //int utf8bs = (rsa.KeySize / 8) - 2 - (2 * SysCrypt.SHA1.Create().ComputeHash(bytes).Length);
            int utf8bs = (rsa.KeySize / 8) - 42;
            int iterat = bytes.Length / utf8bs;

            StringBuilder sb = new StringBuilder();
            for (int i = 0; i <= iterat; i++)
            {
                byte[] result = rsa.Encrypt(bytes.Skip(i * utf8bs).Take(utf8bs).ToArray(), true);
                //Array.Reverse(result);
                sb.Append(Convert.ToBase64String(result));
            }

            return sb.ToString();
        }