Question : Fonction de TSQL HMAC

J'essaye de créer une fonction de HMAC dans le SQL selon ces spécifications : le rel= " nofollow " de " _blank " de target= de " http://tools.ietf.org/html/rfc2104 " de href= de le /rfc2104

Wikipedia de http://tools.ietf.org/html a également une explication très bonne : le rel= " nofollow " de " _blank " de target= de " http://en.wikipedia.org/wiki/HMAC " de href= de le ki/HMAC

de http://en.wikipedia.org/wi autres que celui la traînée va froid ! Je suis sûr que je ne peux pas être la première personne pour essayer et faire ceci dans le SQL ? ? ? le

Below est dans la mesure où j'ai, je suis totalement perdu quant à où je vais mal, mais cela certainement ne fonctionne pas. Si n'importe qui pourrait jeter une certaine lumière je l'apprécierais vraiment ;)

--------------------------------------------------------------------------------------------DU
THE DE FONCTION
SANS MODIFICATION JUSQU'ICI--------------------------------------------------------------------------------------------FONCTION du

ALTER [dbo].



AS
BEGIN
DU
RETURNS VARCHAR (MAX) DU
(@KEY VARCHAR (MAX) DE
,
DE @MESSAGE VARCHAR (MAX) DE
)      --HACHER la clef si plus longtemps que 16 le characters
SI (LEN (@key) >16) @key RÉGLÉ du
=


de HASHBYTES (« md5 », @key)      --capitonner la clef avec '0 si plus court qui 16 le characters
TANDIS QUE @key RÉGLÉ de LEN (@key) <16
BEGIN
= @key + '0 '
END

      --préparer l'ipad et le
d'opod DÉCLARENT @o_key_pad VARCHAR (max), @position RÉGLÉ d'INT
de @position = @i_key_pad RÉGLÉ du @ipad VARCHAR (max), le @ipad RÉGLÉ du
du
du @opad VARCHAR (max) = le « 6666666666666666 ' @opad RÉGLÉ du
= » \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 'le

DÉCLARENT le @i_key_pad VARCHAR (max), de 1
= '' @o_key_pad RÉGLÉ du
= '' le

      --épisser l'ipad et l'opod avec le key
TANDIS QUE @i_key_pad RÉGLÉ du <= 16
BEGIN
de @position = @i_key_pad + CHAR (ASCII ^ ASCII (SOUS-CHAÎNE (@key, @position (de SOUS-CHAÎNE (@ipad, @position, 1)), 1))) @O_KEY_PAD RÉGLÉ DU
= @O_KEY_PAD + CHAR (ASCII ^ ASCII (SOUS-CHAÎNE (@KEY, @POSITION (DE SOUS-CHAÎNE (@OPAD, @POSITION, 1)), 1))) @position RÉGLÉ du
= @position +
RETURN HASHBYTES (« md5 » de 1
END

, (@o_key_pad + CONVERTI (VARCHAR (maximum), HASHBYTES ('wbr/> de md5'<, (@i_key_pad + @message)))))

END


class= de

Réponse : Fonction de TSQL HMAC

Criqué il ! ! ! :)
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 :
CHANGER LA FONCTION [dbo]. [HMAC]
(
		@KEY VARCHAR (MAX),
		@MESSAGE VARCHAR (MAX)
)
RETOURS VARCHAR (MAX)

AS
COMMENCER
	--HACHER la clef si plus longtemps que 16 caractères
	SI (LEN (@KEY) >64)
		PLACER le @key = le HASHBYTES (« md5 », le @key)


	DÉCLARER LE @I_KEY_PAD VARCHAR (MAX), LE @O_KEY_PAD VARCHAR (MAX), LE @POSITION INTERNATIONAL
		PLACER le @position = 1
		PLACER le @i_key_pad = ''
		PLACER le @o_key_pad = ''

	--épisser l'ipad et l'opod avec la clef
	TANDIS QUE @position  <>
           
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us