public static bool VerifyCheckSumByjson(string masterKey, string json, string checkSum) { CheckSum.ValidateVerifyCheckSumInput(masterKey, checkSum); try { string str1 = Crypto.Decrypt(checkSum, masterKey); if (str1 == null || str1.Length < 4) { return(false); } string str2 = str1.Substring(str1.Length - 4, 4); MessageConsole.WriteLine("Salt:::: " + str2); MessageConsole.WriteLine(); MessageConsole.WriteLine("Input CheckSum:::: " + checkSum); string str3 = json; MessageConsole.WriteLine(); MessageConsole.WriteLine("GeneratedCheckSum String:::: " + str3); string inputValue = str3 + "|" + str2; MessageConsole.WriteLine(); MessageConsole.WriteLine("GeneratedCheckSum String with Salt:::: " + inputValue); string hashedString = SecurityUtils.GetHashedString(inputValue); MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedGeneratedCheckSum String:::: " + hashedString); string str4 = hashedString + str2; MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedGeneratedCheckSum String with Salt:::: " + str4); return(str4.Equals(str1)); } catch (System.Exception ex) { throw new CryptoException("Exception occurred while verifying CheckSum. " + ex.Message); } }
public static string CreateCheckSumString(Dictionary <string, string> parameters) { if (parameters == null) { return(""); } MessageConsole.WriteLine(); MessageConsole.WriteLine("Input Dict::::"); SecurityUtils.PrintDictionary(parameters); SortedDictionary <string, string> dict = new SortedDictionary <string, string>((IDictionary <string, string>)parameters, (IComparer <string>)StringComparer.Ordinal); MessageConsole.WriteLine(); MessageConsole.WriteLine("Sorted Dict::::"); SecurityUtils.PrintSortedDictionary(dict); StringBuilder stringBuilder = new StringBuilder(""); foreach (KeyValuePair <string, string> keyValuePair in dict) { string str = keyValuePair.Value; if (str == null || str.Trim().Equals("NULL")) { str = ""; } stringBuilder.Append(str).Append("|"); } return(stringBuilder.ToString()); }
private static void PrintSortedDictionary(SortedDictionary <string, string> dict) { if (dict == null) { return; } foreach (KeyValuePair <string, string> keyValuePair in dict) { MessageConsole.WriteLine("{0}, {1}", (object)keyValuePair.Key, (object)keyValuePair.Value); } }
public static string GenerateCheckSumForRefund(string masterKey, Dictionary <string, string> parameters) { CheckSum.ValidateGenerateCheckSumInput(masterKey); try { string checkSumString = SecurityUtils.CreateCheckSumString(parameters); string randomString = StringUtils.GenerateRandomString(4); string inputValue = checkSumString + randomString; MessageConsole.WriteLine(); MessageConsole.WriteLine("Final CheckSum String:::: " + inputValue); string hashedString = SecurityUtils.GetHashedString(inputValue); MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedCheckSum String:::: " + hashedString); string clearText = hashedString + randomString; MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedCheckSum String with Salt:::: " + clearText); return(Crypto.Encrypt(clearText, masterKey)); } catch (System.Exception ex) { throw new CryptoException("Exception occurred while generating CheckSum. " + ex.Message); } }
public static string GenerateCheckSum(string masterKey, Dictionary <string, string> parameters) { CheckSum.ValidateGenerateCheckSumInput(masterKey); Dictionary <string, string> parameters1 = new Dictionary <string, string>(); try { foreach (string key in parameters.Keys) { if (parameters[key].Trim().ToUpper().Contains("REFUND") || parameters[key].Trim().Contains("|")) { parameters1.Add(key.Trim(), ""); } else { parameters1.Add(key.Trim(), parameters[key].Trim()); } } string checkSumString = SecurityUtils.CreateCheckSumString(parameters1); string randomString = StringUtils.GenerateRandomString(4); string inputValue = checkSumString + randomString; MessageConsole.WriteLine(); MessageConsole.WriteLine("Final CheckSum String:::: " + inputValue); string hashedString = SecurityUtils.GetHashedString(inputValue); MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedCheckSum String:::: " + hashedString); string clearText = hashedString + randomString; MessageConsole.WriteLine(); MessageConsole.WriteLine("HashedCheckSum String with Salt:::: " + clearText); return(Crypto.Encrypt(clearText, masterKey)); } catch (System.Exception ex) { throw new CryptoException("Exception occurred while generating CheckSum. " + ex.Message); } }