diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 9227708834..96292fff2e 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -435,16 +435,22 @@ namespace OpenSim.Framework /// /// /// + public static string SHA1Hash(string data) { - byte[] hash = ComputeSHA1Hash(data); + return SHA1Hash(data, Encoding.Default); + } + + public static string SHA1Hash(string data, Encoding encoding) + { + byte[] hash = ComputeSHA1Hash(data, encoding); return BitConverter.ToString(hash).Replace("-", String.Empty); } - private static byte[] ComputeSHA1Hash(string src) + private static byte[] ComputeSHA1Hash(string src, Encoding encoding) { SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider(); - return SHA1.ComputeHash(Encoding.Default.GetBytes(src)); + return SHA1.ComputeHash(encoding.GetBytes(src)); } public static int fast_distance2d(int x, int y) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 45af13a5cb..f5b7f5f5cb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -32,7 +32,6 @@ using System.Diagnostics; //for [DebuggerNonUserCode] using System.Runtime.Remoting.Lifetime; using System.Text; using System.Threading; -using System.Security.Cryptography; using System.Text.RegularExpressions; using Nini.Config; using log4net; @@ -6945,8 +6944,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String llSHA1String(string src) { m_host.AddScriptLPS(1); - SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider(); - return BitConverter.ToString(SHA1.ComputeHash(Encoding.UTF8.GetBytes(src))).Replace("-", String.Empty).ToLower(); + return Util.SHA1Hash(src, Encoding.UTF8).ToLower(); } protected ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist)