FP300Service.MessageBuilder.EncryptRSA C# (CSharp) Метод

EncryptRSA() публичный статический Метод

public static EncryptRSA ( byte rsaModulus, byte exponent, byte data ) : byte[]
rsaModulus byte
exponent byte
data byte
Результат byte[]
        public static byte[] EncryptRSA(byte[] rsaModulus, byte[] exponent, byte[] data)
        {
            byte[] response = null;
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            RSAParameters rsaPar = rsa.ExportParameters(false);

            rsaPar.Modulus = rsaModulus;
            rsaPar.Exponent = exponent;

            rsa.ImportParameters(rsaPar);

            response = rsa.Encrypt(data, false);

            return response;
        }

Usage Example

Пример #1
0
        internal static byte[] CreateTripleDES(RSAItems rsaItems, byte[] tripleKey)
        {
            List <byte> triplePacket = new List <byte>();

            triplePacket.AddRange(MessageBuilder.HexToByteArray(GMPDataTags.DT_ENC_KEY));
            triplePacket.AddRange(MessageBuilder.AddLength(256));
            //tripleKey = Encoding.ASCII.GetBytes("1234567890123456");
            triplePacket.AddRange(MessageBuilder.EncryptRSA(rsaItems.Modulus, rsaItems.Exponent, tripleKey));

            //KEY VALUE
            byte[] arrCheck = new byte[32];
            for (int i = 0; i < 32; i++)
            {
                arrCheck[i] = (byte)0;
            }
            arrCheck = MessageBuilder.EncryptTriple(arrCheck, arrCheck.Length, tripleKey);
            List <byte> chk = new List <byte>();

            for (int i = 0; i < 16; i++)
            {
                chk.Add(arrCheck[i]);
            }
            triplePacket.AddRange(MessageBuilder.HexToByteArray(GMPDataTags.DT_CHK_VAL));
            triplePacket.AddRange(MessageBuilder.AddLength(16));
            triplePacket.AddRange(chk.ToArray());

            return(triplePacket.ToArray());
        }