SQL Server
SQL Server
URL Signing for Google Maps API
See more Encryption Examples
Demonstrates how to sign a URL for the Google Maps API.Chilkat SQL Server Downloads
-- 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 modified Base64.
-- Modified Base64 for URLs replaces the '+' and '/' characters
-- of standard Base64 with '-' and '_' respectively, so that these
-- Base64 signatures no longer need to be URL-encoded.
EXEC sp_OASetProperty @crypt, 'EncodingMode', 'modBase64'
-- Set the hash algorithm to sha-1
EXEC sp_OASetProperty @crypt, 'HashAlgorithm', 'sha-1'
EXEC sp_OASetProperty @crypt, 'MacAlgorithm', 'hmac'
DECLARE @sig nvarchar(4000)
-- Set the HMAC key (this is the private key provided by Google)
DECLARE @success int
EXEC sp_OAMethod @crypt, 'SetMacKeyEncoded', @success OUT, 'vNIXE0xscrmjlyV-12Nj_BvUPaw=', 'modBase64'
-- Compute the URL signature
EXEC sp_OAMethod @crypt, 'MacStringENC', @sig OUT, '/maps/api/geocode/json?address=New+York&sensor=false&client=clientID'
-- The result should be KrU1TzVQM7Ur0i8i7K3huiw3MsA=
PRINT @sig
EXEC @hr = sp_OADestroy @crypt
END
GO