В примере http://planet.jboss.org/post/using_a_database_to_authenticate_and_authorize_your_users_in_elytron используются три отдельных поля и отображение индекса:
<principal-query sql="SELECT A.PASSWORD, A.SALT_VALUE, A.ITERATION_COUNT FROM USERS A WHERE A.USER_NAME = LOWER(?)" data-source="myDS">
<bcrypt-mapper password-index="1" salt-index="2" iteration-count-index="3"/>
</principal-query>
Поддерживает ли WildFly JDBC также поле хеша BCrypt, в котором BCrypt хранится в виде одной строки, например
$2a$16$lvPZugycIDUYhER7eyyyouFTIwyk/ZVighN7RbDqkLcIfMnu0Cqi6
где стоимость и хеш уже содержатся в строке?
Или мне нужно разрезать строку на части и сохранить их в отдельных полях, чтобы WildFly мог получить к ним доступ отдельно?
-
Из первого комментария к этому связанному вопросу :
Кроме того, пароли сохраняются в системах типа UNIX, где естьединственное поле для хранения хешированного пароля.Строка содержит информацию о методе хэширования, соли и хэше в соответствии с довольно стандартным форматом.Таким образом, если вы измените методы хэширования в будущем, ваши старые хэшированные пароли все равно будут работать.