Я хочу хэшировать его, чтобы при передаче данных другим людям они не могли перевернуть этот столбец.
Вам нужен односторонний (криптографическая) хеш-функция .
Oracle имеет пакет DBMS_CRYPTO
, который в Oracle 12.1 поддерживает:
Криптографические алгоритмы хеширования: MD5, SHA-1, SHA-2 (SHA-256, SHA-384, SHA-512), MD4
Алгоритмы ключевого хэша (MAC): HMAC_MD5, HMAC_SH1, HMAC_SH256, HMAC_SH384, HMAC_SH512
1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017 * *1018* 1017*
(Более ранние версии Oracle поддерживают меньше алгоритмов - но вы всегда можете добавить поддержку более безопасных алгоритмов с помощью пользовательской функции Java, хранящейся в базе данных.) Использовать одиниз них, обладающих необходимыми функциями (безопасность, производительность и т. д.).
Какой самый быстрый способ сделать это?
У вас может быть быстрее или большебезопасный, и вы должны выбрать самый безопасный алгоритм, который вы можете, который отвечает вашим требованиям производительности (а непросто за самый быстрый и наименее безопасный алгоритм).
Вы также спросили:
Итак, вы предлагаете мне сделать ora_hash
Нет, трудно понять , какой именно алгоритм хеширования ora_hash
используется, поскольку его нет в официальной документации , но нет упоминания о том, что это криптографическая / односторонняя хеш-функция.