Локальное хранение аутентифицированных учетных данных - один из худших возможных способов аутентификации клиентов. Для этого вам нужно использовать криптографию, которая вводит возможность грубой силы. Хорошим примером того, как это идет ужасно неправильно, является Oracle Padding Attack, используемая против .Net .
Если вам нужна защищенная система, вы не будете реализовывать это. Если вы хотите что-то, что не очень безопасно, но, вероятно, будет работать, тогда вы должны использовать HMAC . Bcrypt, блочные шифры и потоковые шифры на самом деле не правильный выбор. Вы можете реализовать HMAC с помощью bcrypt, но я бы выбрал другую хеш-функцию, например sha256.
Кроме того, текущее время даты НЕ СЛУЧАЙНОЕ ЗНАЧЕНИЕ , оно никогда не должно передаваться для расчета случайного значения. Вам нужно будет отслеживать время, чтобы токен сеанса мог истечь. Ваш секрет должен быть создан с помощью магазина энтропии, как /dev/random