System.Security.Cryptography.RSA.Encrypt C# (CSharp) Method

Encrypt() public method

public Encrypt ( byte data, RSAEncryptionPadding padding ) : byte[]
data byte
padding RSAEncryptionPadding
return byte[]
        public virtual byte[] Encrypt(byte[] data, RSAEncryptionPadding padding)
        {
            throw DerivedClassMustOverride();
        }

Usage Example

Beispiel #1
0
        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="rsa"></param>
        /// <param name="data"></param>
        /// <param name="padding"></param>
        /// <returns></returns>
        private static byte[] Encrypt(System.Security.Cryptography.RSA rsa, byte[] data, RSAEncryptionPadding padding = null)
        {
            padding ??= RSAEncryptionPadding.Pkcs1;
            byte[] result;
            var    maxLength = rsa.KeySize / 8 - PaddingLength[padding];

            // 长数据分割
            if (maxLength < data.Length)
            {
                var pointer  = 0;
                var resBytes = new List <byte>();
                while (pointer < data.Length)
                {
                    var length = pointer + maxLength > data.Length ? data.Length - pointer : maxLength;
                    resBytes.AddRange(rsa.Encrypt(data.Skip(pointer).Take(length).ToArray(), padding));
                    pointer += maxLength;
                }
                result = resBytes.ToArray();
            }
            else
            {
                result = rsa.Encrypt(data, padding);
            }
            return(result);
        }
All Usage Examples Of System.Security.Cryptography.RSA::Encrypt