我工作的一个开源的JavaScript应用我试图与第三方API(github上专门)接口。 我试图让我的整个应用程序唯一的客户端,所以我真的不会有服务器回落到或隐藏文件存储上。 因为OAuth过程的一部分,我需要提供提供我的API密钥的密钥。 我不应该发布或共享此密钥。
我想出了以下解决方案:
- 使用加密三重DES和密码的密钥。
- 把加密的版本在我的仓库的某个地方。
- 当我需要通过OAuth认证,提示输入密码和恢复密钥。
- 一旦知道,存储秘密本地存储,以避免将来提示。
我基本上是个存储密钥的转换后的版本。 我想这一切给我买的,我必须从用户而不是全键获取密码。 它应该比随机字节轻松一点要记住。
这是足够安全? 它不是一个超临界的应用程序,但我要尽我所能保护的东西,我告诉不分享。 难道还有比3DES更好的方法来加密可逆道路上的关键?