Расчитать хэш-код для строки или клоба
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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; |
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|