Подтвердить что ты не робот

SHA1 хеширование в Rails

У меня есть база данных со следующими полями: id, q_id, text, session и т.д., и у меня уже есть 2 записи. Я хочу хэш каждой строки с SHA1 alghoritm (каждая строка уникальна, конечно). Я пробовал это:

@w = Digest::SHA1.hexdigest(id+q_id+text+session)

но это не сработает.

4b9b3361

Ответ 1

SHA не шифрует, а создает криптографический хэш . Если это еще то, что вы хотите сделать, я предполагаю, что id и q_id являются Fixnums и должны быть преобразованы в строки.

@w = Digest::SHA1.hexdigest(ans.id.to_s + ans.q_id.to_s + ans.text + ans.session)

Мне также нравится использовать литералы String, потому что это делает очень очевидным, что мы имеем дело со строкой

@w = Digest::SHA1.hexdigest("#{id}#{q_id}#{text}#{session}")