diff --git a/AjaxPro/AjaxPro.csproj b/AjaxPro/AjaxPro.csproj index 7bff051..9ee3eb9 100644 --- a/AjaxPro/AjaxPro.csproj +++ b/AjaxPro/AjaxPro.csproj @@ -259,7 +259,7 @@ Code - + Code diff --git a/AjaxPro/Handler/ConverterJavaScriptHandler.cs b/AjaxPro/Handler/ConverterJavaScriptHandler.cs index 33b19e5..e3e69c7 100644 --- a/AjaxPro/Handler/ConverterJavaScriptHandler.cs +++ b/AjaxPro/Handler/ConverterJavaScriptHandler.cs @@ -93,7 +93,7 @@ public void ProcessRequest(HttpContext context) } } - etag = MD5Helper.GetHash(System.Text.Encoding.Default.GetBytes("converter")); + etag = Hash5Helper.GetHash(System.Text.Encoding.Default.GetBytes("converter")); DateTime now = DateTime.Now; DateTime lastMod = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); //.ToUniversalTime(); diff --git a/AjaxPro/Handler/EmbeddedJavaScriptHandler.cs b/AjaxPro/Handler/EmbeddedJavaScriptHandler.cs index a729b23..1126b76 100644 --- a/AjaxPro/Handler/EmbeddedJavaScriptHandler.cs +++ b/AjaxPro/Handler/EmbeddedJavaScriptHandler.cs @@ -104,7 +104,7 @@ public void ProcessRequest(HttpContext context) } } - etag = MD5Helper.GetHash(System.Text.Encoding.Default.GetBytes(fileName)); + etag = Hash5Helper.GetHash(System.Text.Encoding.Default.GetBytes(fileName)); DateTime now = DateTime.Now; DateTime lastMod = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); //.ToUniversalTime(); diff --git a/AjaxPro/Handler/TypeJavaScriptHandler.cs b/AjaxPro/Handler/TypeJavaScriptHandler.cs index 08c94d2..fb3cf21 100644 --- a/AjaxPro/Handler/TypeJavaScriptHandler.cs +++ b/AjaxPro/Handler/TypeJavaScriptHandler.cs @@ -146,7 +146,7 @@ public void ProcessRequest(HttpContext context) } etag = type.AssemblyQualifiedName; - etag = MD5Helper.GetHash(System.Text.Encoding.Default.GetBytes(etag)); + etag = Hash5Helper.GetHash(System.Text.Encoding.Default.GetBytes(etag)); DateTime now = DateTime.Now; DateTime lastMod = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second); // .ToUniversalTime(); diff --git a/AjaxPro/Utilities/MD5Helper.cs b/AjaxPro/Utilities/HashHelper.cs similarity index 91% rename from AjaxPro/Utilities/MD5Helper.cs rename to AjaxPro/Utilities/HashHelper.cs index 8be811a..8e12dea 100644 --- a/AjaxPro/Utilities/MD5Helper.cs +++ b/AjaxPro/Utilities/HashHelper.cs @@ -1,67 +1,67 @@ -/* - * MD5Helper.cs - * - * Copyright © 2007 Michael Schwarz (http://www.ajaxpro.info). - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -/* - * MS 07-04-12 changed MD5 compute hash (using BitConverter, now) - * - * - */ -using System; -using System.Text; -using System.Security.Cryptography; - -namespace AjaxPro -{ - /// - /// Provides methods to get a MD5 hash from a string or byte array. - /// - public class MD5Helper - { - /// - /// Gets the hash. - /// - /// The data. - /// - public static string GetHash(string data) - { - byte[] b = System.Text.Encoding.Default.GetBytes(data); - - return GetHash(b); - } - - /// - /// Gets the hash. - /// - /// The data. - /// - public static string GetHash(byte[] data) - { - // This is one implementation of the abstract class MD5. - MD5 md5 = new MD5CryptoServiceProvider(); - - return BitConverter.ToString(md5.ComputeHash(data)).Replace("-", String.Empty); - } - } -} +/* + * MD5Helper.cs + * + * Copyright © 2007 Michael Schwarz (http://www.ajaxpro.info). + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +/* + * MS 07-04-12 changed MD5 compute hash (using BitConverter, now) + * MS 21-12-22 changed hash algorithm from MD5 to SHA256 + * + */ +using System; +using System.Text; +using System.Security.Cryptography; + +namespace AjaxPro +{ + /// + /// Provides methods to get a MD5 hash from a string or byte array. + /// + public class Hash5Helper + { + /// + /// Gets the hash. + /// + /// The data. + /// + public static string GetHash(string data) + { + byte[] b = System.Text.Encoding.Default.GetBytes(data); + + return GetHash(b); + } + + /// + /// Gets the hash. + /// + /// The data. + /// + public static string GetHash(byte[] data) + { + // This is one implementation of the abstract class MD5. + MD5 md5 = new MD5CryptoServiceProvider(); + + return BitConverter.ToString(new SHA256Managed().ComputeHash(data)).Replace("-", String.Empty); + } + } +}