Вопрос : Функция TSQL HMAC

Я пытаюсь создать функцию HMAC в SQL согласно этой спецификации: rel= " nofollow " " _blank " " target= " http://tools.ietf.org/html/rfc2104 href= /rfc2104

Wikipedia http://tools.ietf.org/html также имеет очень хорошее объяснение: rel= " nofollow " " _blank " " target= " http://en.wikipedia.org/wiki/HMAC href= ki/HMAC

http://en.wikipedia.org/wi за исключением того тропка идет холод! Я уверен я не может быть первой персоной для того чтобы попытаться и сделаться это в SQL???

Below насколько я получаю, я полно потерянный о куда я иду неправильно, но он определенно не работает. Если любое smogло полинять некоторый свет, то я реально оценил бы его;)

--------------------------------------------------------------------------------------------ФУНКЦИЯ
THE ПО МЕРЕ ТОГО КАК ОНА СТОИТ ТАКИМ ОБРАЗОМ FAR
--------------------------------------------------------------------------------------------ФУНКЦИЯ

ALTER [dbo].



AS
BEGIN

RETURNS VARCHAR
(@KEY VARCHAR
(МАКС),
@MESSAGE VARCHAR
(МАКС)) (МАКС)      --HASH ключ если более длиной чем 16 characters
ЕСЛИ (LEN (@key) >16) @key
УСТАНОВЛЕННОЕ =


HASHBYTES («md5», @key)      --проложите ключа с '0 если коротко, то 16 characters
ПОКА @key LEN (@key) <16
BEGIN
УСТАНОВЛЕННОЕ = @key + '0 '
END

      --подготовьте ipad &
opod ОБЪЯВЛЯЕТ @o_key_pad VARCHAR @ipad VARCHAR (МАКС), @ipad

@opad VARCHAR (МАКС) УСТАНОВЛЕННОЕ = «6666666666666666 ' @opad
УСТАНОВЛЕННОЕ =» \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '

ОБЪЯВЛЯЕТ @i_key_pad VARCHAR (МАКС), (МАКС), @position INT
@position УСТАНОВЛЕННОЕ = @i_key_pad 1
УСТАНОВЛЕННОЕ = '' @o_key_pad
УСТАНОВЛЕННОЕ = ''

      --соедините ipad & opod с key
ПОКА @i_key_pad <= 16
BEGIN
@position УСТАНОВЛЕННОЕ = @i_key_pad + ЧАРС (ASCII (^ ASCII ПОДСТРОКИ (@ipad, @position, 1)) (ПОДСТРОКА (@key, @position, 1))) @O_KEY_PAD
УСТАНОВЛЕННОЕ = @O_KEY_PAD + ЧАРС (ASCII (^ ASCII ПОДСТРОКИ (@OPAD, @POSITION, 1)) (ПОДСТРОКА (@KEY, @POSITION, 1))) @position
УСТАНОВЛЕННОЕ = @position +
RETURN HASHBYTES 1
END

(«md5», (@o_key_pad + НОВООБРАЩЕННЫЙ (VARCHAR (максимальное), HASHBYTES ('wbr/> md5'<, (@i_key_pad + @message)))))

END


class=

Ответ : Функция TSQL HMAC

Треснувший оно!!! :)
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:
ИЗМЕНИТЕ ФУНКЦИЮ [dbo]. [HMAC]
(
		@KEY VARCHAR (МАКС),
		@MESSAGE VARCHAR (МАКС)
)
ВОЗВРАЩЕНИЯ VARCHAR (МАКС)

КАК
НАЧНИТЕ
	--HASH ключ если более длиной чем 16 характеров
	ЕСЛИ (LEN (@KEY) >64), ТО
		УСТАНОВИТЕ @key = HASHBYTES («md5», @key)


	ОБЪЯВИТЕ @I_KEY_PAD VARCHAR (МАКС), @O_KEY_PAD VARCHAR (МАКС), @POSITION INT
		УСТАНОВИТЕ @position = 1
		УСТАНОВИТЕ @i_key_pad = ''
		УСТАНОВИТЕ @o_key_pad = ''

	--соедините ipad & opod с ключом
	ПОКА @position  <>
           
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us