Questione : Funzione di TSQL HMAC

Sto provando a generare una funzione di HMAC nello SQL secondo questa specifica: il rel= " nofollow " " del _blank " " del target= " di http://tools.ietf.org/html/rfc2104 del href= di /rfc2104

Wikipedia di http://tools.ietf.org/html inoltre ha una spiegazione molto buona: il rel= " nofollow " " del _blank " " del target= " di http://en.wikipedia.org/wiki/HMAC del href= di ki/HMAC

di http://en.wikipedia.org/wi tranne quello la traccia va il freddo! Sono sicuro che non posso essere la prima persona per provare e fare questo nello SQL??? il

Below è per quanto ho, io completamente sono perso quanto a dove sto andando male, ma definitivamente non funziona. Se chiunque potesse fare una certa luce realmente lo apprezzerei;)

--------------------------------------------------------------------------------------------DEL
THE DI FUNZIONE
COSÌ COM'È FINORA--------------------------------------------------------------------------------------------FUNZIONE del

ALTER [dbo].



AS
BEGIN
DEL
RETURNS VARCHAR (MAX) DEL
(@KEY VARCHAR (MAX) DEL
,
DI @MESSAGE VARCHAR (MAX) DEL
)      --TRITARE la chiave se più lungamente di 16 characters
SE (LEN (@key) >16) @key STABILITO del
=


di HASHBYTES (“md5„, @key)      --riempire la chiave con '0 se più breve che 16 characters
MENTRE @key STABILITO di LEN (@key) <16
BEGIN
= @key + '0 '
END

      --preparare il ipad & il
del opod DICHIARA il @o_key_pad VARCHAR (max), @position STABILITO di INT
di @position = @i_key_pad STABILITO del @ipad VARCHAR (max), il @ipad STABILITO del
del
del @opad VARCHAR (max) = “6666666666666666 ' @opad STABILITO del
=„ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '

DICHIARA il @i_key_pad VARCHAR (max), di 1
= '' @o_key_pad STABILITO del
= ''

      --impiombare il ipad & il opod con key
MENTRE @i_key_pad STABILITO del <= 16
BEGIN
di @position = @i_key_pad + CARBONE (ASCII (^ ASCII (SOTTOSTRINGA (@key, @position di SOTTOSTRINGA (@ipad, @position, 1)), 1))) @O_KEY_PAD STABILITO DEL
= @O_KEY_PAD + CARBONE (ASCII (^ ASCII (SOTTOSTRINGA (@KEY, @POSITION DI SOTTOSTRINGA (@OPAD, @POSITION, 1)), 1))) @position STABILITO del
= @position +
RETURN HASHBYTES (“md5„ di 1
END

, (@o_key_pad + CONVERTITO (VARCHAR (massimo), HASHBYTES ('wbr/> di md5'<, (@i_key_pad + @message)))))

END


class= del

Risposta : Funzione di TSQL HMAC

Incrinato esso!!! :)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
ALTERARE LA FUNZIONE [dbo]. [HMAC]
(
		@KEY VARCHAR (MAX),
		@MESSAGE VARCHAR (MAX)
)
RITORNI VARCHAR (MAX)

AS
COMINCIARE
	--TRITARE la chiave se più lungamente di 16 caratteri
	SE (LEN (@KEY) >64)
		REGOLARE il @key = HASHBYTES (“md5„, @key)


	DICHIARARE IL @I_KEY_PAD VARCHAR (MAX), IL @O_KEY_PAD VARCHAR (MAX), IL @POSITION INT
		REGOLARE il @position = 1
		REGOLARE il @i_key_pad = ''
		REGOLARE il @o_key_pad = ''

	--impiombare il ipad & il opod con la chiave
	MENTRE @position  <>
           
Altre soluzioni  
 
programming4us programming4us