Вчера мы рассмотрели подход к реализации системы авторизации для ShinyDashboard.
Для него неплохо было бы где-то хранить имена пользователей и пароли. Ведь согласитесь, правило «логин==пароль» — не очень надежное.
И хранить прям в базе пароли открытым текстом тоже моветон. Поэтому пароли сначала хэшируют, а уж потом сохраняют в БД.
В R есть довольно простое решение для этой процедуры. Естественно — за устойчивость этого конкретного алгоритма я ничего не знаю, поэтому все использование этого рецепта — на ваш собственный страх и риск. Приличные системы безопасности проектируются все-таки не по рецептам в Интернете. Но мы с вами же говорим за корпоративный дашборд, на который не будут тратить уж много сил, чтобы получить данные из него. Поэтому…
library(bcrypt)
# Secret message as a string
passwd <- "supersecret153"
passw1<- "superunsecret153"
# Create the hash
hash <- hashpw(passwd)
# Wrapper that does the same
checkpw(passwd, hash)
checkpw(passw1, hash)
## TRUE
PS. А если еще сможете заставить Shiny Server работать по https - то вообще будет безопасно (относительно)...