import.css=/download/attachments/6062824/tecnologia.css |
HMAC (Hash-based Message Authentication Code) gera o hash de autenticação de uma mensagem de entrada, em combinação com uma chave secreta. Essa implementação suporta os algoritmos SHA-1,SHA-256,SHA-512 e MD5.
HMAC( < cContent >, < cKey >, < nCryptoType >, [ nRetType ], [ nContentType ], [ nKeyType ] ) |
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cContent | caractere | Indica a string de entrada que contém os dados para os quais será gerado o hash. | X | |
cKey | caractere | Indica a chave que será utilizada para gerar o hash. | X | |
nCryptoType | numérico | Indica o tipo de algoritmo criptográfico que será utilizado para geração do Hash. Veja tabela nas observações. | X | |
nRetType | numérico | Indica o tipo do formato de retorno do hash. Quando não informado valor padrão será 2 (Hex Hash). Veja tabela nas observações. | ||
nContentType | numérico | Indica o tipo do formato do conteúdo da variável cContent. Quando não informado o padrão será 1 (Texto). Veja tabela nas observações. | ||
nKeyType | numérico | Indica o tipo do formato da chave informada na variável cKey. Quando não informado o padrão será 1 (Texto). Veja tabela nas observações. |
Nome | Tipo | Descrição |
---|---|---|
cDigest | caractere | Retorna o hash (Message Authentication Code) do conteúdo de entrada informado, no formato especificado. |
|
User Function tstHMAC() Local cInput := "0123456789abcdefghijklmnopqrstuvxz" Local cKeyHx := "c8783fc0963838abc662c920c82e94cf" Local nCpSHA256 := 5 Local cHashHex := "" Local cHashRaw := "" cHashHex := HMAC( cInput, cKeyHx, nCpSHA256, 2, 1, 3 ) Varinfo( "Input ", cInput ) Varinfo( "HMAC-SHA256 Hex", sHashHex ) cHashRaw := HMAC( cInput, cKeyHx, nCpSHA256, 1, 1, 3 ) Varinfo( "HMAC-SHA256 Raw", sHashRaw ) Return User Function HmacBase64() local cInput64 := Encode64( "secret text" ) local cKey64 := Encode64( "d key used" ) local nSha1Type := 3 local nTypeBase64 := 2 local nOutPutType := 1 local ret := "" ret := HMAC( cInput64, cKey64, nSha1Type, nOutPutType, nTypeBase64, nTypeBase64 ) Varinfo( "cInput64 ", cInput64 ) Varinfo( "ret ", ret ) Return User Function HmacHex() local cInput := "secret text" local cInputHex := "7365637265742074657874" local cKey := "d key used" local cKeyHex := "64206b65792075736564" local nSha1Type := 3 local nTypeHex := 3 local nOutPutType := 1 local ret := "" ret := HMAC( cInputHex, cKeyHex, nSha1Type, nOutPutType, nTypeHex, nTypeHex ) Varinfo( "cInputHex ", cInputHex ) Varinfo( "ret ", ret ) Return |
AppServer 13.1.4.0 e 13.2.4.0 | nContetType e nKeyType disponíveis a partir da versão 17.3.0.18