Как хранить и использовать соль Широ из базы данных

Я использую Широ в приложении для аутентификации. Я использую хешированный пароль с солью и храню их в своей базе данных следующим образом:

    private User createUserWithHashedPassword(String inName, String inFirstName, String inLastName, String inPassword){

    ByteSource salt  = randomNumberGenerator.nextBytes(32);

    byte[] byteTabSalt  = salt.getBytes();

    String strSalt = byteArrayToHexString(byteTabSalt);

    String hashedPasswordBase64 = new Sha256Hash(inPassword, salt, 1024).toBase64();

    return new User(inName,inFirstName,inLastName,hashedPasswordBase64,strSalt);
}

Я храню соль со строкой в моей базе данных. Теперь в моем мире я хочу получить свои данные из базы данных, для этого я использую транзакционный сервис. Но моя соль - Strong, поэтому я хочу, чтобы она превратилась в тип ByteSource со статическим методом:

ByteSource byteSourceSalt = Util.bytes(salt); //where the salt is a String

Но когда я создаю свой SaltedAuthenticationInfo, он нет

Я думаю, что моя проблема в моем методе конвертации:

private String byteArrayToHexString(byte[] bArray){

        StringBuffer buffer = new StringBuffer();

        for(byte b : bArray) {
            buffer.append(Integer.toHexString(b));
            buffer.append(" ");
        }

 return buffer.toString().toUpperCase();    
}

Спасибо за вашу помощь.

Ответы на вопрос(4)

Ваш ответ на вопрос