/// <summary> /// 解密函数 /// </summary> /// <param name="Content">解密内容</param> /// <param name="privateKey">私钥(XML格式)</param> /// <param name="rsaDes">经RSA加密后的desKey与desIV的集合</param> /// <param name="desKey">经RSA解密后的desKey</param> /// <param name="desIV">经RSA解密后的desKey</param> /// <returns>string</returns> public string DecryptString(string Content, string privateKey, string rsaDes, out string desKey, out string desIV) { string strResult = ""; if (FunctionHelper.CheckValiable(rsaDes)) { // 解密DES密钥和初始化向量 RSACrypto RC = new RSACrypto(); string des = RC.RSADecrypt(privateKey, rsaDes); string[] desArray = FunctionHelper.SplitArray(des, '§'); desKey = desArray[0]; desIV = desArray[1]; // DES解密内容 DESCrypto DC = new DESCrypto(); strResult = DC.DecryptString(Content, desKey, desIV); } else { desKey = ""; desIV = ""; strResult = Content; } return(strResult); }
/// <summary> /// 解密函数 /// </summary> /// <param name="Content">解密内容</param> /// <param name="privateKey">私钥(XML格式)</param> /// <param name="rsaDes">经RSA加密后的desKey与desIV的集合</param> /// <param name="desKey">经RSA解密后的desKey</param> /// <param name="desIV">经RSA解密后的desKey</param> /// <returns>string</returns> public string DecryptString(string Content, string privateKey, string rsaDes, out string desKey, out string desIV) { string strResult = ""; if (FunctionHelper.CheckValiable(rsaDes)) { // 解密DES密钥和初始化向量 RSACrypto RC = new RSACrypto(); string des = RC.RSADecrypt(privateKey, rsaDes); string[] desArray = FunctionHelper.SplitArray(des, '§'); desKey = desArray[0]; desIV = desArray[1]; // DES解密内容 DESCrypto DC = new DESCrypto(); strResult = DC.DecryptString(Content, desKey, desIV); } else { desKey = ""; desIV = ""; strResult = Content; } return strResult; }