Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
MD5 encryption
Message
From
26/10/2012 06:02:15
 
 
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Title:
Environment versions
SQL Server:
SQL Server 2008
Miscellaneous
Thread ID:
01555853
Message ID:
01555860
Views:
42
Thanks Viv

I'm eventually handling this in a dtsx package so hopefully I can add a script component that will handle that bit.




>The TripleDes key needs a byte[] which is known at both ends. They are using MD5 to create the byte[] value from a shared string.....
>
>>Is that some sort of double layer of encryption ?
>>
>>They are MD5 encrypting the key then using that value to encrypt the actual data ?
>>
>>>>>>Hi
>>>>>>
>>>>>>I'm being passed some data encrypted with MD5.
>>>>>>
>>>>>>I can find examples of how I encrypt in TSql
>>>>>>
>>>>>>SELECT CONVERT(NVARCHAR(32),HashBytes('MD5', 'email@dot.com'),2)
>>>>>>
>>>>>>but I can't find an example of how I would de encrypt the result to get the original content.
>>>>>
>>>>>You can't - it's just a hash value....
>>>>
>>>>Hi Viv
>>>>
>>>>I'm being passed some data which I've been told is MD5 encrpted
>>>>
>>>>they've also passed me some c# code which has encryption and decryption functions.
>>>>
>>>>Is that not the same thing ?
>>>>
>>>>Nick
>>>>
>>>>
>>>>using System;
>>>>using System.Collections.Generic;
>>>>using System.Linq;
>>>>using System.Text;
>>>>using System.Security.Cryptography;
>>>>
>>>>namespace Unified.ram.Common.Util
>>>>{
>>>> public class EncryptDecrypt
>>>> {
>>>> public static string Encrypt(string strToEncrypt)
>>>> {
>>>> string key = Sitecore.Configuration.Settings.GetSetting("EncryptDecryptKey", "");
>>>> return Encrypt(strToEncrypt, key);
>>>> }
>>>>
>>>> public static string Encrypt(string strToEncrypt, string strKey)
>>>> {
>>>> try
>>>> {
>>>> TripleDESCryptoServiceProvider objDESCrypto =
>>>> new TripleDESCryptoServiceProvider();
>>>> MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
>>>> byte[] byteHash, byteBuff;
>>>> string strTempKey = strKey;
>>>> byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
>>>> objHashMD5 = null;
>>>> objDESCrypto.Key = byteHash;
>>>> objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB
>>>> byteBuff = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
>>>> return Convert.ToBase64String(objDESCrypto.CreateEncryptor().
>>>> TransformFinalBlock(byteBuff, 0, byteBuff.Length));
>>>> }
>>>> catch (Exception ex)
>>>> {
>>>> return "Wrong Input. " + ex.Message;
>>>> }
>>>> }
>>>>
>>>> public static string Decrypt(string strEncrypted)
>>>> {
>>>> string key = Sitecore.Configuration.Settings.GetSetting("EncryptDecryptKey", "");
>>>> return Decrypt(strEncrypted, key);
>>>> }
>>>>
>>>> public static string Decrypt(string strEncrypted, string strKey)
>>>> {
>>>> try
>>>> {
>>>> TripleDESCryptoServiceProvider objDESCrypto =
>>>> new TripleDESCryptoServiceProvider();
>>>> MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
>>>> byte[] byteHash, byteBuff;
>>>> string strTempKey = strKey;
>>>> byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
>>>> objHashMD5 = null;
>>>> objDESCrypto.Key = byteHash;
>>>> objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB
>>>> byteBuff = Convert.FromBase64String(strEncrypted);
>>>> string strDecrypted = ASCIIEncoding.ASCII.GetString
>>>> (objDESCrypto.CreateDecryptor().TransformFinalBlock
>>>> (byteBuff, 0, byteBuff.Length));
>>>> objDESCrypto = null;
>>>> return strDecrypted;
>>>> }
>>>> catch (Exception ex)
>>>> {
>>>> return "Wrong Input. " + ex.Message;
>>>> }
>>>> }
>>>> }
>>>>}
>>>
>>>Looks like that is using TripleDES for the encryption with a MD5 hash as the key ? No idea how you can go about decrypting in SQL tho :-{
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform