Ответ 1
Если вы шифруете поля, которые вам нужно только проверить (не отзывать), то простой хеш с SHA или односторонним зашифрованием с помощью DES или IDEA с использованием соли, чтобы предотвратить отображение радужной таблицы. Это полезно для паролей или других секретов доступа.
Python и webapps заставляют меня думать о GAE, поэтому вам может понадобиться что-то, что не делает шифрование/дешифрование для каждой транзакции БД, поскольку они уже не дешевы в GAE.
Лучшей практикой для зашифрованной базы данных является шифрование полей со своим секретом пользователей, но включение асимметричного бэкдора, который шифрует секретный ключ пользователя, чтобы вы (и не каждый, у кого есть доступ к исходным файлам БД, или таблицам ) может дешифровать ключ пользователя с помощью вашего секретного ключа, если восстановление или что-то еще необходимо.
В этом случае пользователь (или вы или доверенный делегат) может удалять и дешифровать только свою собственную информацию. Вы можете захотеть быть более строгими в проверке секретов пользователей, если вы думаете, что вам нужно защитить свои поля с помощью шифрования.
В этом отношении ключевая фраза (в отличие от пароля) некоторых секретных слов, таких как "в джунглях могучие джунгли", является хорошей практикой поощрения.
РЕДАКТИРОВАТЬ: Просто посмотрел ваше обновление. Лучший способ хранить OAuth - дать им короткую продолжительность жизни, только запрашивать ресурсы, которые вам нужны, и повторно запрашивать их при получении длинных токенов. Лучше спроектировать вокруг получения аутентификации, получения вашего доступа и выхода, чем оставить ключ под бэкдор в течение 10 лет.
Так как, если вам нужно вспомнить OAuth, когда пользователь подключился к Интернету, вы можете сделать так, как указано выше, и зашифровать с секретным секретом пользователя. Вы также можете генерировать ключ из зашифрованного счетчика (зашифрованного секретом пользователя), поэтому фактический ключ шифрования изменяется при каждой транзакции, а счетчик хранится в виде открытого текста. Но прежде чем использовать, проверьте конкретное обсуждение криптоалкогола этого режима. Некоторые алгоритмы могут не очень хорошо сочетаться с этим.