Я реализую API для CMS.Есть ли причина не хранить ключи api в открытом тексте?
Клиенты получают доступ к API через открытый ключ или закрытый ключ (для более конфиденциальных данных). Они могут читать и записывать в базу данных с помощью закрытого ключа.
Я хранил ключи (просто случайные строки) как открытые в базе данных.
Я научился не хранить пароли в виде открытого текста. Основная причина заключается в том, что потенциальный злоумышленник может использовать пароли в других системах (например, facebook), где пользователь использует один и тот же пароль.
Это не относится к apiKeys, поскольку они генерируются самим API, и только значение - это предоставление доступа к базе данных. Если злоумышленник сделал это так далеко, у него уже есть доступ.
Сказав это: я делаю что-то неправильно, если я храню api Keys как чистый текст?
Зачем использовать базу данных, а не поставщик магазина криптова? (Или поставщик хранилища криптографических данных для шифрования данных в базе данных.) –
Возможно, вы злоупотребляете терминами «открытый ключ» и «закрытый ключ». См. Http://support.microsoft.com/kb/246071 – artbristol
OP неправильно использует открытый и закрытый ключ. OP означает «ключ для чтения» и «ключ чтения/записи». В этом вопросе не задействован асимметричный криптоал. – jeffsix