Я работаю над приложением javascript с открытым исходным кодом, я пытаюсь взаимодействовать со сторонним API (в частности, с github). Я пытаюсь сохранить все свое приложение только на стороне клиента, поэтому у меня действительно не будет сервера, на который можно было бы вернуться или хранить скрытые файлы. В рамках процесса OAuth мне нужно предоставить секретный ключ, предоставленный для моего ключа API. Я не должен публиковать или делиться этим ключом.
Я придумал следующее решение:
По сути, я храню преобразованную версию секретного ключа. Я предполагаю, что все это покупает меня, - то, что я должен получить фразу-пароль от пользователя вместо полного ключа. Это должно быть немного легче запомнить, чем случайные байты.
Это достаточно безопасно? Это не сверхкритическое приложение, но я хочу сделать все возможное, чтобы защитить то, чем мне запретили делиться. Есть ли лучший способ, чем 3DES, для обратимого шифрования ключа?