Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Полезные SQL функции для API
В Falcon Space есть набор полезных функций SQL, которые выполняют стандартные преобразования
as_md5 - генерирует хеш строку MD5. Пример: dbo.as_md5('123')
as_hmac - генерирует хеш код в SHA1 и других форматах (https://ru.wikipedia.org/wiki/HMAC). Пример:
select dbo.as_hmac('SHA1', convert(varbinary(max), @secret),
convert(varbinary(max), @data ))
Важно, чтобы @secret и @data были varchar(max), а не nvarchar(max)
as_strToBase64 - генерирует значение в кодировке base64. Если на входе varbinary(max), то преобразуем специальным образом:
select dbo.as_strToBase64(lower(convert(nvarchar(max), @sh1, 2)))
as_NCharToUTF8Binary - преобразуем строку nvarchar в binary(max).
fn_PBKDF2 - стандарт формирования ключа на основе пароля. https://ru.wikipedia.org/wiki/PBKDF2
Конвертация в SHA-256:
declare @val varchar(max) = '123'
sha256 - SELECT CONVERT(VARCHAR(100),HASHBYTES('SHA2_256',@val),2); -- SHA-256
На практике возникает множество нюансов и возвращаемые функции могут давать не совсем тот результат - это зависит от формата входных данных (varbinary, nvarchar или varchar, lower or not). Проверяйте промежуточные тестовые данные через онлайн сервисы:
- HMAC Service https://freeformatter.com/hmac-generator.html#ad-output
- MD5 Online https://decodeit.ru/md5/
- Base64 Online https://decodeit.ru/base64/
- Sha256 и другие хеши - https://emn178.github.io/online-tools/sha256.html
Здесь также можно проверить как генерируются HASH и HMAC:
Как сгенерировать JSON объект строку из данных в SELECT:
declare @json nvarchar(max)=(select top 1 id UID, created date from table1
for json path, WITHOUT_ARRAY_WRAPPER)
select @json
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта