Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
MD5 Hash a StringSQL Server example to Digest-MD5 hash an XML document.
CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @crypt int EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- Any string argument automatically begins the 30-day trial. DECLARE @success int EXEC sp_OAMethod @crypt, 'UnlockComponent', @success OUT, '30-day trial' IF @success <> 1 BEGIN PRINT 'Crypt component unlock failed' RETURN END DECLARE @xmlDoc nvarchar(4000) SELECT @xmlDoc = '<test><a>123</a><b>456</b><c>789</c></test>' -- This example was created in response to a request to -- do this: -- XML-->byte[]-->MD5(byte[])-->Base64(string) -- The output will be Base64, so set the EncodingMode: EXEC sp_OASetProperty @crypt, 'EncodingMode', 'base64' -- It is desired to hash bytes. Depending on the programming -- language, strings may be Unicode (2 bytes/char). We don't -- want to hash Unicode. By setting the Charset property, -- we're telling the encryption component to first convert -- a string to the multibyte charset indicated. EXEC sp_OASetProperty @crypt, 'Charset', 'windows-1252' -- Set the hash algorithm: -- Choices are: md5, sha1, sha256, sha384, sha512, md2, haval EXEC sp_OASetProperty @crypt, 'HashAlgorithm', 'md5' DECLARE @hashStr nvarchar(4000) -- Hash the string: -- Internally, this converts the string to bytes, hashes the bytes, -- and converts the hash bytes to a Base64 encoded string: -- Note: Any method in Chilkat Crypt that ends with "ENC" returns the -- output bytes (i.e. hashed or encrypted) as an encoded string -- according to the EncodingMode property, which can be "base64", -- "hex", "url", "quoted-printable", or "html" (for HTML entities). EXEC sp_OAMethod @crypt, 'HashStringENC', @hashStr OUT, @xmlDoc PRINT @hashStr END GO |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.