示例#1
0
        /// <summary>
        /// 加密 byte[] 并返回 byte[]
        /// </summary>
        /// <param name="Content">加密内容</param>
        /// <param name="publicKey">公钥(XML格式)</param>
        /// <param name="desKey">DES密钥</param>
        /// <param name="desIV">DES向量</param>
        /// <param name="rsaDes">经RSA加密后的desKey与desIV的集合</param>
        /// <returns>byte[]</returns>
        public byte[] EncryptBytes(byte[] Content, string publicKey, string desKey, string desIV, out string rsaDes)
        {
            byte[] byteResult = null;

            if (FunctionHelper.CheckValiable(publicKey))
            {
                // DES加密内容
                DESCrypto DC = new DESCrypto();
                byteResult = DC.EncryptBytes(Content, desKey, desIV);

                // 加密DES密钥和初始化向量
                RSACrypto RC = new RSACrypto();

                string des = desKey + "§" + desIV;
                rsaDes = RC.RSAEncrypt(publicKey, des);
            }
            else
            {
                rsaDes     = "";
                byteResult = Content;
            }


            return(byteResult);
        }
        /// <summary>
        /// 加密 byte[] 并返回 byte[]
        /// </summary>
        /// <param name="Content">加密内容</param>
        /// <param name="publicKey">公钥(XML格式)</param>
        /// <param name="desKey">DES密钥</param>
        /// <param name="desIV">DES向量</param>
        /// <param name="rsaDes">经RSA加密后的desKey与desIV的集合</param>
        /// <returns>byte[]</returns>
        public byte[] EncryptBytes(byte[] Content, string publicKey, string desKey, string desIV, out string rsaDes)
        {
            byte[] byteResult = null;

            if (FunctionHelper.CheckValiable(publicKey))
            {
                // DES加密内容
                DESCrypto DC = new DESCrypto();
                byteResult = DC.EncryptBytes(Content, desKey, desIV);

                // 加密DES密钥和初始化向量
                RSACrypto RC = new RSACrypto();

                string des = desKey + "§" + desIV;
                rsaDes = RC.RSAEncrypt(publicKey, des);
            }
            else
            {
                rsaDes = "";
                byteResult = Content;
            }


            return byteResult;
        }