Sample code for 30+ languages & platforms
SQL Server

HMAC SHA-1 to Match RFC 2022 Test Vectors

See more Encryption Examples

Demonstrates using Chilkat in _LANGUAGE_ to computer HMAC SHA-1 message authentication codes to match the test vectors given by RFC 2202.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    -- This example assumes the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @crypt int
    EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    -- The output will be Hex, so set the EncodingMode:
    EXEC sp_OASetProperty @crypt, 'EncodingMode', 'hex'

    -- Set the hash algorithm:
    -- Choices are: md5, sha-1, sha256, sha384, sha512, md2, haval
    EXEC sp_OASetProperty @crypt, 'HashAlgorithm', 'sha-1'
    EXEC sp_OASetProperty @crypt, 'MacAlgorithm', 'hmac'

    DECLARE @mac nvarchar(4000)

    -- Set the HMAC key:
    DECLARE @success int
    EXEC sp_OAMethod @crypt, 'SetMacKeyEncoded', @success OUT, '0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b', 'hex'
    EXEC sp_OAMethod @crypt, 'MacStringENC', @mac OUT, 'Hi There'

    PRINT @mac

    EXEC sp_OAMethod @crypt, 'SetMacKeyEncoded', @success OUT, 'Jefe', 'ansi'
    EXEC sp_OAMethod @crypt, 'MacStringENC', @mac OUT, 'what do ya want for nothing?'

    PRINT @mac

    EXEC @hr = sp_OADestroy @crypt


END
GO