CftClub.ru
Клуб специалистов ЦФТ-Банк

Расчитать хэш-код для строки или клоба

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Selivanovane
Участник


Вступление в Клуб: 23.09.2022
СообщениеСр Фев 14, 2024 11:43   Расчитать хэш-код для строки или клоба Ответить с цитатой
Полезность: Нет оценки
Доброго дня.
Кто-то может подсказать, есть ли в ЦФТ какие-то встроенные фукнции по расчету хэш-кодов. Интересует принципиально, чтобы хэш-код соответствовал ГОСТ Р 31.11-2012 (256 бит длиной, преобразованный в 16-тиричную систему счисления).
В библиотеках Современных систем нашли функции типа HSH_R, HSH_C, HSH_B. Вроде для значения типа CLOB код рассчитался, осталось только как-то проверить его соответствие ГОСТу.
А вот с поиском фукнций для расчета кода для строки возникли сложности.
Будем благодарны за наводку.
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПт Фев 16, 2024 07:18    Ответить с цитатой
Полезность: Нет оценки
Есть стандартные от Oracle - Ora_hash, я использовал, но насколько такой вариант для вас подходит.... И будет ли это добро работать в DBI - не известно.

Есть варианты от дистрибутива, типа, например:
Все та же библиотека INT_EXT_CALL_001, только вариант для строки.


Код:
-- получение специального хэша строки "code_word || salt"
function get_hash(
   p_code_word      string(100)
   , p_salt      string(40)
) return string is
   hash_raw_sh1   raw(50);
begin
   hash_raw_sh1 := ::[BC_INTERFACE].[PRX_PCORE].HSH_R(
      utl_raw.cast_to_raw(::[RUNTIME].[CHARSET].convert_str(p_code_word||p_salt, 'AL32UTF8', ::[RUNTIME].[CHARSET].db_charset))
      ,::[BC_INTERFACE].[PRX_PCORE].H_3);
   return lower(rawtohex(hash_raw_sh1));
end;
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru