PureBasic
PureBasic
URL Signing for Google Maps API
See more Encryption Examples
Demonstrates how to sign a URL for the Google Maps API.Chilkat PureBasic Downloads
IncludeFile "CkCrypt2.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
crypt.i = CkCrypt2::ckCreate()
If crypt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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.
CkCrypt2::setCkEncodingMode(crypt, "modBase64")
; Set the hash algorithm to sha-1
CkCrypt2::setCkHashAlgorithm(crypt, "sha-1")
CkCrypt2::setCkMacAlgorithm(crypt, "hmac")
sig.s
; Set the HMAC key (this is the private key provided by Google)
CkCrypt2::ckSetMacKeyEncoded(crypt,"vNIXE0xscrmjlyV-12Nj_BvUPaw=","modBase64")
; Compute the URL signature
sig = CkCrypt2::ckMacStringENC(crypt,"/maps/api/geocode/json?address=New+York&sensor=false&client=clientID")
; The result should be KrU1TzVQM7Ur0i8i7K3huiw3MsA=
Debug sig
CkCrypt2::ckDispose(crypt)
ProcedureReturn
EndProcedure