<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Upgrading MD5 to new hash (SIM) in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65962#M39559</link>
    <description>&lt;P&gt;For our DPM website, we used &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28114"&gt;@stw&lt;/a&gt;'s solution, instead of &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/26959"&gt;@Renaissance&lt;/a&gt;'s, because Renaissance's requires the latest AuthorizeNet PHP library, which requires PHP version 5.6, which would require re-writing our entire website.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In step 1, stw's solution calls the PHP function &lt;STRONG&gt;base_convert&lt;/STRONG&gt;, which did not work for us. Both &lt;STRONG&gt;hex2bin&lt;/STRONG&gt; and &lt;STRONG&gt;pack&lt;/STRONG&gt; worked. We used &lt;STRONG&gt;pack&lt;/STRONG&gt; because &lt;STRONG&gt;hex2bin&lt;/STRONG&gt; isn't available in our version of PHP.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note that &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28114"&gt;@stw&lt;/a&gt;'s solution will fail in "2-3 months" because AuthorizeNet plans to stop sending the MD5 Hash in the API response:&lt;/P&gt;&lt;P&gt;&lt;A title="MD5 Hash End of Life &amp;amp; Signature Key Replacement" href="https://support.authorize.net/s/article/MD5-Hash-End-of-Life-Signature-Key-Replacement" target="_self"&gt;https://support.authorize.net/s/article/MD5-Hash-End-of-Life-Signature-Key-Replacement&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So we don't do this part of &lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28114"&gt;@stw&lt;/a&gt;'s solution:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;$response = new AuthorizeNetSIM($apiLoginID, $md5Setting);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Instead, we simply check if the transaction was approved, x_response_code === '1'.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately, this exposes us to the risk of an imposter posing as AuthorizeNet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, to make the site a little harder to hack, we added a our own hash to an HTML hidden field, and check the value when it comes back in the AuthorizeNet API response. So while we can't be sure the response came from AuthorizeNet, we'll know if the custom hash came from our server.&lt;/P&gt;</description>
    <pubDate>Tue, 22 Jan 2019 20:16:19 GMT</pubDate>
    <dc:creator>capturewiz</dc:creator>
    <dc:date>2019-01-22T20:16:19Z</dc:date>
    <item>
      <title>Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65724#M39347</link>
      <description>&lt;P&gt;I am trying to upgrade from MD5 to the new hash method as described here:- &lt;A href="https://developer.authorize.net/support/hash_upgrade" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using SIM still do in addition I read the guide at &lt;A href="https://support.authorize.net/s/article/Do-I-need-to-upgrade-my-transaction-fingerprint-from-HMAC-MD5-to-HMAC-SHA512-and-how" target="_blank"&gt;https://support.authorize.net/s/article/Do-I-need-to-upgrade-my-transaction-fingerprint-from-HMAC-MD5-to-HMAC-SHA512-and-how&lt;/A&gt;.&amp;nbsp; This second link seems to talk about generating the fingerprint with more values than the first link above does, more similar to how wo do MD5 currently.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I’m having trouble validating matching the value I submit to what is returned in the response.&amp;nbsp; Note: We need this to work with SIM as we can’t upgrade to the new API currently.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am creating the hash using the new method and submitting it to the x_fp_hash during the post.&amp;nbsp; I assume my x_fp_hash is correct because I was previously getting error 99’s which is a fingerprint error, but no longer do.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The response comes back after doing the payment in the x_SHA2_Hash field.&amp;nbsp; It doesn't compare to x_fp_hash.&amp;nbsp; So I thought there is more to this.&amp;nbsp; Looking in the SIM guide, on page 73 at &lt;A href="https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf" target="_blank"&gt;https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf&lt;/A&gt; it mentions generating a hash from 30 fields.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've done this and it still doesn't compare to x_SHA2_Hash.&amp;nbsp; So I assume I am doing something wrong, but not sure.&amp;nbsp; The documentation doesn't really give any examples of how to do this so I am uncertain what my issue is.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 11:58:09 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65724#M39347</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-14T11:58:09Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65726#M39349</link>
      <description>&lt;P&gt;Hello, we're using SIM (or more precisely DPM) as well and currently don't have time to upgrade to the Accept Hosted solution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried the new hash and it seems no matter what I do, it just does not match with what is returned in the relay POST data. The MD5 hash is still fine, but the SHA2 not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I even tried to run the provided C# example to see if there was any problem with my implementation, but even that returned different hash, than what was sent in the relay response (x_SHA2_Hash field).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I used exactly what the upgrade post says to generate the message, i.e. my API Login ID, the returned transaction ID (x_trans_id field) and the returned amount (x_amount field) delimited and wrapped in carets exactly per the article.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 14:00:47 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65726#M39349</guid>
      <dc:creator>keksa</dc:creator>
      <dc:date>2019-01-14T14:00:47Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65732#M39355</link>
      <description>&lt;P&gt;We are using SIM and having the same issue while&amp;nbsp;follwing the steps from&amp;nbsp;&lt;A href="https://developer.authorize.net/support/hash_upgrade/" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;the has does not match computed hash does not match x_SHA2_Hash.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jan 2019 20:55:38 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65732#M39355</guid>
      <dc:creator>xero</dc:creator>
      <dc:date>2019-01-14T20:55:38Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65749#M39368</link>
      <description>&lt;P&gt;I just found out this am about the upcoming change. Although it does read as the option for the hash will be gone Jan 31,2019, and the ability at a later date to be announced.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently:&lt;/P&gt;&lt;P&gt;We use DPM&lt;/P&gt;&lt;P&gt;Use our form with field posted like x_fp_sequence,x_fp_hash, x_fp_timestamp etc. Using a relay repsonse from authorize.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is what I did and everything worked on our end. We use PHP:&lt;/P&gt;&lt;P&gt;Through developer account, created a signature key&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On developer side of our site, I did the rest to test this:&lt;/P&gt;&lt;P&gt;1. Took new signature key and converted hex to dec:&lt;/P&gt;&lt;P&gt;$newKey = base_convert($signatureKey,16,2);&lt;/P&gt;&lt;P&gt;2. Changed our php func:&lt;/P&gt;&lt;P&gt;$hashedVar = hash_hmac('sha512','allthesuff^separated^as^usual^','$newKey ) ;&lt;/P&gt;&lt;P&gt;3. Everything else stays the same, we sent the hashed variable and other vars back to the form then posted that form to authorize.&lt;/P&gt;&lt;P&gt;4. Authorize's relay repsonse wasn't touched on our end&lt;/P&gt;&lt;P&gt;5. successful transaction was done and everything on our end completed as needed. Including the slient post.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wasn't sure what to do about the comparison as mentioned (&lt;A href="https://developer.authorize.net/support/hash_upgrade/" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade/&lt;/A&gt;), but it didn't seem to need it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our relay response is quite generic:&lt;/P&gt;&lt;P&gt;$response = new AuthorizeNetSIM($apiLoginID, $md5Setting);&lt;/P&gt;&lt;P&gt;if ($response-&amp;gt;isAuthorizeNet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if ($response-&amp;gt;approved) {&lt;/P&gt;&lt;P&gt;$redirect_url = '';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;else{//declined&lt;/P&gt;&lt;P&gt;$redirect_url = '';&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;echo AuthorizeNetDPM::getRelayResponseSnippet($redirect_url);&lt;/P&gt;&lt;P&gt;}.....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's the basics of it. So was this all is what is needed and not as offsensive as documentation makes it out to be?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 18:44:36 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65749#M39368</guid>
      <dc:creator>stw</dc:creator>
      <dc:date>2019-01-15T18:44:36Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65750#M39369</link>
      <description>&lt;P&gt;I just found out this am about the upcoming change. Although it does read as the option for the hash will be gone Jan 31,2019, and the ability at a later date to be announced.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Currently:&lt;BR /&gt;&lt;BR /&gt;We use DPM&lt;BR /&gt;&lt;BR /&gt;Use our form with field posted like x_fp_sequence,x_fp_hash, x_fp_timestamp etc. Using a relay repsonse from authorize.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This is what I did and everything worked on our end. We use PHP:&lt;BR /&gt;&lt;BR /&gt;Through developer account, created a signature key&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;On developer side of our site, I did the rest to test this:&lt;BR /&gt;&lt;BR /&gt;1. Took new signature key and converted hex to dec:&lt;BR /&gt;&lt;BR /&gt;$newKey = base_convert($signatureKey,16,2);&lt;BR /&gt;&lt;BR /&gt;2. Changed our php func:&lt;BR /&gt;&lt;BR /&gt;hash_hmac('sha512','allthesuff^separated^as^usual^','$newKey ) ;&lt;BR /&gt;&lt;BR /&gt;3. Everything else stays the same, we sent the hashed variable and other vars back to the form then posted that form to authorize.&lt;BR /&gt;&lt;BR /&gt;4. Authorize's relay repsonse wasn't touched on our end&lt;BR /&gt;&lt;BR /&gt;5. successful transaction was done and everything on our end completed as needed. Including the slient post.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I wasn't sure what to do about the comparison as mentioned (&lt;A href="https://developer.authorize.net/support/hash_upgrade/" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade/&lt;/A&gt;), but it didn't seem to need it.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Our relay response is quite generic:&lt;BR /&gt;&lt;BR /&gt;$response = new AuthorizeNetSIM($apiLoginID, $md5Setting);&lt;BR /&gt;&lt;BR /&gt;if ($response-&amp;gt;isAuthorizeNet()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($response-&amp;gt;approved) {&lt;BR /&gt;&lt;BR /&gt;$redirect_url = '';&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;else{//declined&lt;BR /&gt;&lt;BR /&gt;$redirect_url = '';&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;echo AuthorizeNetDPM::getRelayResponseSnippet($redirect_url);&lt;BR /&gt;&lt;BR /&gt;}.....&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;That's the basics of it. So was this all is what is needed and not as offsensive as documentation makes it out to be?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 18:49:25 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65750#M39369</guid>
      <dc:creator>stw</dc:creator>
      <dc:date>2019-01-15T18:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65754#M39370</link>
      <description>&lt;P&gt;Can't get this working in SIM.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Simply replaced&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;return hash_hmac("md5", $loginid . "^" . $sequence . "^" . $tstamp . "^" . $amount . "^" . $currency, $x_tran_key);&lt;/PRE&gt;&lt;P&gt;with&lt;/P&gt;&lt;PRE&gt;return hash_hmac("sha512", $loginid . "^" . $sequence . "^" . $tstamp . "^" . $amount . "^" . $currency, base_convert($x_tran_key,16,2));&lt;/PRE&gt;&lt;P&gt;and changed from a transaction key to a signature key.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I get Error 99 everytime using my developer account.&lt;/P&gt;&lt;P&gt;If I switch back to md5 and the transaction key, everything works fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 21:03:47 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65754#M39370</guid>
      <dc:creator>dsstrainer</dc:creator>
      <dc:date>2019-01-15T21:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65755#M39371</link>
      <description>&lt;P&gt;The hash as I understand it has always been optional. &amp;nbsp;You don’t have to verify the MD5 and going forwards you don’t have to verify the new hash. But the point is you should, so that you are verifying the payment came from Authorize.Net.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unless I am misunderstanding the PHP example above (2nd post up), you are simply not verifying it. The SIM guide talks about verifying against 30 response fields, but I can’t figure out how.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 21:11:09 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65755#M39371</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-15T21:11:09Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65756#M39372</link>
      <description>&lt;P&gt;I'm having difficulty as well.&amp;nbsp;Are you using your signature key instead of your transaction key?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, I'm trying to convert the hex key to binary as per the documentation using PHP:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;base_convert&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'MySignatureKey&lt;/SPAN&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;16&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;However, this simply returns this as the binary value which can't possible be correct:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;0000000000000000000000000000000000000000000000000000000000000000&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 15 Jan 2019 22:00:39 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65756#M39372</guid>
      <dc:creator>mps38</dc:creator>
      <dc:date>2019-01-15T22:00:39Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65759#M39375</link>
      <description>&lt;P&gt;You are trying to convert the literal string "MySignatureKey" which why you are getting all zeros.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 22:22:44 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65759#M39375</guid>
      <dc:creator>dsstrainer</dc:creator>
      <dc:date>2019-01-15T22:22:44Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65761#M39377</link>
      <description>&lt;P&gt;I think the terminology is just confusing here. We aren't talking about the "md5 hash" which as you noted was always optional. This is about the new fingerprint which is also referred to as "x_fp_hash" and used to use the login id and transaction key but now uses login id and signature key. Really don't see the difference as its just a new name for a new key that does the same thing. Typical over-engineering from payment gateway companies.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In any case, swapping out the keys and changing the hash algorithm from md5 to sha512 doesn't seem to work for everyone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also has anyone noticed the huge mistake in the email that Authnet sent out refers to "SHA256" but all the places on the dev site refer to "SHA512".&amp;nbsp;I assume sha512 is correct and they just need to fire their email staff.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 22:26:51 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65761#M39377</guid>
      <dc:creator>dsstrainer</dc:creator>
      <dc:date>2019-01-15T22:26:51Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65764#M39380</link>
      <description>&lt;P&gt;"&lt;SPAN&gt;x_fp_hash" is not new, it has always been there, but previously is set to the MD5 hash.&amp;nbsp; With the the instruction from &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://support.authorize.net/s/article/Do-I-need-to-upgrade-my-transaction-fingerprint-from-HMAC-MD5-to-HMAC-SHA512-and-how" target="_blank"&gt;https://support.authorize.net/s/article/Do-I-need-to-upgrade-my-transaction-fingerprint-from-HMAC-MD5-to-HMAC-SHA512-and-how&lt;/A&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;it says to switch to the Signature key compute the hash.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The second part is the relay response also contains "x_MD5_Hash" and "x_SHA2_Hash" which is used to verify the response is from authorize.net.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;From what I understand "x_fp_hash" and&amp;nbsp;"x_SHA2_Hash" need to be using the 128 bit Signature&amp;nbsp;key to compute the hash.&amp;nbsp; But the hash I generate never match "x_SHA2_Hash" from the relay response.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 22:49:24 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65764#M39380</guid>
      <dc:creator>xero</dc:creator>
      <dc:date>2019-01-15T22:49:24Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65769#M39385</link>
      <description>&lt;P&gt;I don't think I have a need for this but I've been working on it on and off for the past several hours. I think there may be some quirks that have to be worked out of authorize.net's end. The format of the signature key you need is an unsigned 8 bit integer, per their link.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;php is not amenable to using arrays in hashing, but I am not sure that you need an array. The documentation references "a byte version" of your signature key, and then references the array below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am noticing that almost everyone who posts about this is using SIM or DPM. That explains something as I use Accept Hosted. This feature seems more tailored for your needs. If you're using SIM and are pulling your hair out right now, Accept Hosted is extremely easy to integrate and it took me about 10 minutes to get the sha512 hash integration working on the webhooks.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've fried quite a load of brain cells on this for no good reason at this point. If you're looking for a reason to upgrade this may be it. I figured it would take me 10 minutes like the webhooks did, and I figured why not validate the response on my refund API calls for such a small investment, although it is useless in all but the most remote circumstances I can imagine.&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jan 2019 23:51:17 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65769#M39385</guid>
      <dc:creator>Renaissance</dc:creator>
      <dc:date>2019-01-15T23:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65777#M39393</link>
      <description>&lt;P&gt;Here is what I came up with. It works 100% with the PHP SDK and I believe will work for other methods with only slight modification.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/Working-php-hash-verification/td-p/65774" target="_blank"&gt;https://community.developer.authorize.net/t5/Integration-and-Testing/Working-php-hash-verification/td-p/65774&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 05:20:22 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65777#M39393</guid>
      <dc:creator>Renaissance</dc:creator>
      <dc:date>2019-01-16T05:20:22Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65783#M39398</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/26959"&gt;@Renaissance&lt;/a&gt;, thanks for your example.&amp;nbsp; As you mentioned, I posted this question originally because it is SIM that I am trying to get working.&amp;nbsp; SIM from what I understand works differently to Accepted Hosted in how the hash works.&amp;nbsp; Your PHP SDK example looks great, but I need to get this working with SIM, at least temporarily.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28091"&gt;@xero&lt;/a&gt;,&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/12110"&gt;@dsstrainer&lt;/a&gt;... I am using VB.NET, but I'll try to explain what I've done so far.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Firstly, here is the&amp;nbsp;&lt;U&gt;old&lt;/U&gt; code, with MD5...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;                    Dim Random As New Random
                    Dim Sequence = Random.Next(0, 1000)
                    Dim TimeStamp = CInt((DateTime.UtcNow - New DateTime(1970, 1, 1)).TotalSeconds)
                    Dim Fingerprint = GetAuthorizeNetMD5(anTransactionKey, anAPILoginID &amp;amp; "^" &amp;amp; Sequence &amp;amp; "^" &amp;amp; TimeStamp &amp;amp; "^" &amp;amp; Total.ToString("0.##") &amp;amp; "^USD")&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;When I post my initial transaction off to Authorize.Net, x_fp_sequence&lt;/FONT&gt; is assigned the Sequence,&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;x_fp_timestamp&lt;/FONT&gt; is assigned the TimeStamp and&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;x_fp_hash&lt;/FONT&gt; is assigned the&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;Fingerprint&lt;/FONT&gt; variable. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is the GetAuthorizeNetMD5 function from the above example, which passes in the Transaction Key, API Login ID, Sequence, TimeStamp, Amount and Currency Code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        Public Shared Function GetAuthorizeNetMD5(ByVal Key, ByVal Value)

            Dim HMACkey() As Byte = (New ASCIIEncoding()).GetBytes(Key)
            Dim HMACdata() As Byte = (New ASCIIEncoding()).GetBytes(Value)

            Dim TempHMACMD5 As New System.Security.Cryptography.HMACMD5(HMACkey)

            Dim HMAChash() As Byte = TempHMACMD5.ComputeHash(HMACdata)

            Dim Fingerprint = ""
            For i = 0 To HMAChash.Length - 1
                Fingerprint &amp;amp;= HMAChash(i).ToString("x").PadLeft(2, "0")
            Next

            Return Fingerprint

        End Function&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The relay URL then receives back the&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;MD5_Hash&lt;/FONT&gt; value.&amp;nbsp; We then compare this to the MD5 Hash Key similar to the code below...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        Public Shared Function AuthorizeNetMD5Matched(MD5HashKey As String, APILoginID As String, TransactionID As String, Amount As Decimal, MD5Hash As String) As Boolean

            Dim AmountStr As String = Amount.ToString("0.00")

            Dim Unencrypted = String.Format("{0}{1}{2}{3}", MD5HashKey, APILoginID, TransactionID, AmountStr)

            Dim MD5 = New System.Security.Cryptography.MD5CryptoServiceProvider()
            Dim Hashed = Regex.Replace(BitConverter.ToString(MD5.ComputeHash(ASCIIEncoding.[Default].GetBytes(Unencrypted))), "-", "")

            Return Hashed.Equals(MD5Hash)

        End Function

        If Not PaymentRepository.AuthorizeNetMD5Matched(MD5HashKey, APILoginID, TransactionID, Amount, MD5Hash) Then
            ' Code to abandon the transaction
        End If&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the above example passes into the&amp;nbsp;&lt;SPAN&gt;AuthorizeNetMD5Matched&lt;/SPAN&gt; function the MD5 Hash key and then using MD5 it then attempts to match the combination of the API Login, Transaction ID, Amount and the MD5_Hash returned.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now the above code works with MD5 and the challenge is to know how to update this to work with SHA512.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Firstly, I decided to change how the fingerprint is generated...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Dim Fingerprint = GetAuthorizeNetHMACSHA512(anSignatureKey, anAPILoginID &amp;amp; "^" &amp;amp; Sequence &amp;amp; "^" &amp;amp; TimeStamp &amp;amp; "^" &amp;amp; Total.ToString("0.##") &amp;amp; "^USD")&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code above calls the function below, but instead of passing in the Transaction Key (like with MD5) I instead pass in the Signature Key instead, which I generated within my Sandbox account.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;        Public Shared Function GetAuthorizeNetHMACSHA512(ByVal key As String, ByVal textToHash As String)

            If String.IsNullOrEmpty(Key) Then Throw New ArgumentNullException("HMACSHA512: key", "Parameter cannot be empty.")
            If String.IsNullOrEmpty(textToHash) Then Throw New ArgumentNullException("HMACSHA512: textToHash", "Parameter cannot be empty.")

            If Key.Length Mod 2 &amp;lt;&amp;gt; 0 OrElse Key.Trim().Length &amp;lt; 2 Then
                Throw New ArgumentNullException("HMACSHA512: key", "Parameter cannot be odd or less than 2 characters.")
            End If

            Try
                Dim k As Byte() = Enumerable.Range(0, Key.Length).Where(Function(x) x Mod 2 = 0).[Select](Function(x) Convert.ToByte(Key.Substring(x, 2), 16)).ToArray()

                Dim hmac As System.Security.Cryptography.HMACSHA512 = New System.Security.Cryptography.HMACSHA512(k)

                Dim HashedValue As Byte() = hmac.ComputeHash((New System.Text.ASCIIEncoding()).GetBytes(textToHash))
                Return BitConverter.ToString(HashedValue).Replace("-", String.Empty)


            Catch ex As Exception
                Throw New Exception("HMACSHA512: " &amp;amp; ex.Message)
            End Try


        End Function&lt;/PRE&gt;&lt;P&gt;The above function is a VB.NET equivelent of the example at&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;&lt;A href="https://developer.authorize.net/support/hash_upgrade/" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade/&lt;/A&gt;&lt;/FONT&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, I think this bit so far is correct.&amp;nbsp; I say this because I was getting error 99's on the fingerprint being invalid, but this now works fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I am now struggling to do is compare the&amp;nbsp;x_SHA2_Hash that is returned in the relay response to anything.&amp;nbsp; Page 73 of the SIM guide at&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;&lt;A href="https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf" target="_blank"&gt;https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf&lt;/A&gt;&lt;/FONT&gt; implies you have to build a hash from 30 of the response fields and compare that, but I can't figure it out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 09:32:58 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65783#M39398</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-16T09:32:58Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65788#M39403</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28085"&gt;@cwdsl&lt;/a&gt;, your link to&lt;SPAN&gt;&amp;nbsp;Page 73 of the SIM guide was exactly what I needed. I was attempting to compare x_SHA2_Hash to the a hash of the value provided in the hash upgrade guide (of the format:&amp;nbsp;&lt;STRONG&gt;^ANet123^20987654321^9.99^&lt;/STRONG&gt;). I needed to hash the 30 part carat separated value as specified in the pdf:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;^x_trans_id^x_test_request^x_response_code^x_auth_code^x_cvv2_resp_code^x_cavv_response^x_avs_code^x_method^x_account_number^x_amount^x_company^x_first_name^x_last_name^x_address^x_city^x_state^x_zip^x_country^x_phone^x_fax^x_email^x_ship_to_company^x_ship_to_first_name^x_ship_to_last_name^x_ship_to_address^x_ship_to_city^x_ship_to_state^x_ship_to_zip^x_ship_to_country^x_invoice_num^&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 15:24:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65788#M39403</guid>
      <dc:creator>tmnejp</dc:creator>
      <dc:date>2019-01-16T15:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65789#M39404</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28141"&gt;@tmnejp&lt;/a&gt;, so is that working for you?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've tried comparing the x_SHA2_Hash to the hash of the 30 fields and they don't produce the same value for me.&amp;nbsp; Don't know what I am missing.&amp;nbsp; Are the 30 fields hashed using the Signature Key?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 15:29:03 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65789#M39404</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-16T15:29:03Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65790#M39405</link>
      <description>&lt;P&gt;Yes it's hashed using the signature key. It also took&amp;nbsp;a little effort to translate the Signature Key from a hex string to it's actual binary value (&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/26959"&gt;@Renaissance&lt;/a&gt;&amp;nbsp;has a php solution to this in his/her example). In perl this was:&lt;/P&gt;&lt;P&gt;$key =&amp;nbsp; pack 'H*', $signature_key;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 15:41:47 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65790#M39405</guid>
      <dc:creator>tmnejp</dc:creator>
      <dc:date>2019-01-16T15:41:47Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65796#M39411</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/28141"&gt;@tmnejp&lt;/a&gt;, okay thanks.&amp;nbsp; I still can't figure it out though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I created a variable called TextToHash that is set to the response the 30 values, in this format...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;^x_trans_id^x_test_request^x_response_code^x_auth_code^x_cvv2_resp_code^x_cavv_response^x_avs_code^x_method^x_account_number^x_amount^x_company^x_first_name^x_last_name^x_address^x_city^x_state^x_zip^x_country^x_phone^x_fax^x_email^x_ship_to_company^x_ship_to_first_name^x_ship_to_last_name^x_ship_to_address^x_ship_to_city^x_ship_to_state^x_ship_to_zip^x_ship_to_country^x_invoice_num^&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Example:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;TextToHash = "^12345678901^false^1^ABCDEF^P^2^Y^CC^XXXX0027^64.88^^John^Smith^Main Street^London^^L11AA^United+Kingdom^^^^^^^^^^^^123^"&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I then pass that these values into the HMACSHA512 function (as described at&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;&lt;A href="https://developer.authorize.net/support/hash_upgrade/" target="_blank"&gt;https://developer.authorize.net/support/hash_upgrade/&lt;/A&gt;&lt;/FONT&gt;)...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;HashedStr = &lt;SPAN&gt;HMACSHA512(SignatureKey, TextToHash)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;HashedStr does not equal the&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;SHA2_Hash&lt;/FONT&gt; returned in the relay response, so I know I am missing something, but can't figure out what yet.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 16:31:51 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65796#M39411</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-16T16:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65797#M39412</link>
      <description>&lt;P&gt;So wait, the the upgrade guide is&amp;nbsp;stright up lying to us? We don't hash 3 values, we hash 30 of them? Where do you see hashing the 30 as a solution in their&amp;nbsp;documentation?&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 16:37:56 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65797#M39412</guid>
      <dc:creator>lightwave365</dc:creator>
      <dc:date>2019-01-16T16:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: Upgrading MD5 to new hash (SIM)</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65798#M39413</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/13861"&gt;@lightwave365&lt;/a&gt;, for the SIM integration method I believe so.&amp;nbsp; On Page 73 at&amp;nbsp;&lt;FONT face="&amp;quot;ScalaSansWeb&amp;quot;,sans-serif"&gt;&lt;A href="https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf" target="_blank"&gt;https://www.authorize.net/content/dam/authorize/documents/SIM_guide.pdf&lt;/A&gt;&lt;/FONT&gt; it mentions 30 fields.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I presume the upgrade guide was only written with the newer API's in mind, but don't know that for a fact.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jan 2019 16:41:25 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Upgrading-MD5-to-new-hash-SIM/m-p/65798#M39413</guid>
      <dc:creator>cwdsl</dc:creator>
      <dc:date>2019-01-16T16:41:25Z</dc:date>
    </item>
  </channel>
</rss>

