コード例 #1
0
        public void VerificationOfExampleNumberTwo()
        {
            const string signingString = "AUTHORISED1211992213193029Internet Order 123454aD37dJA";
            const string sharedSecret  = "Kah942*$7sdp0)";
            const string expectedHmac  = "ytt3QxWoEhAskUzUne0P5VA9lPw=";

            var calculator = new HmacCalculator(sharedSecret);

            var mac = calculator.Execute(signingString);

            Assert.AreEqual(expectedHmac, mac);
        }
コード例 #2
0
        private Dictionary <string, string> GetTransactionMessage(Mediachase.Commerce.Orders.Payment payment)
        {
            var macCalculator = new HmacCalculator(Key);
            var merchantId    = Merchant;

            //Create Dictionary<string, string> object with used values. Can be modified to contain additional parameters.
            Dictionary <string, string> message = new Dictionary <string, string>
            {
                { "amount", GetAmount(payment) },
                { "merchantId", merchantId },
                { "transactionId", payment.TransactionID }
            };

            //Calculate mac and add it
            string mac = macCalculator.GetHex(message);

            message.Add("MAC", mac);
            return(message);
        }
コード例 #3
0
        public void VerificationOfExampleValues()
        {
            const string signingString = "10000GBP2007-10-20Internet Order 123454aD37dJATestMerchant2007-10-11T11:00:00Z";
            const string sharedSecret  = "Kah942*$7sdp0)";
            const string expectedHmac  = "x58ZcRVL1H6y+XSeBGrySJ9ACVo=";

            var calculator = new HmacCalculator(sharedSecret);

            var mac = calculator.Execute(signingString);

            Assert.AreEqual(expectedHmac, mac);

            // Recalculate
            mac = calculator.Execute(signingString);
            Assert.AreEqual(expectedHmac, mac);

            // Recalculate with tampered data
            mac = calculator.Execute(signingString + "EVIL!");
            Assert.AreNotEqual(expectedHmac, mac);
        }
コード例 #4
0
        private Dictionary<string, string> GetTransactionMessage(Mediachase.Commerce.Orders.Payment payment)
        {
            var macCalculator = new HmacCalculator(Key);
            var merchantId = Merchant;

            //Create Dictionary<string, string> object with used values. Can be modified to contain additional parameters.
            Dictionary<string, string> message = new Dictionary<string, string>
            {
                {"amount", GetAmount(payment)},
                {"merchantId", merchantId},
                {"transactionId", payment.TransactionID}
            };

            //Calculate mac and add it
            string mac = macCalculator.GetHex(message);
            message.Add("MAC", mac);
            return message;
        }