我需要知道如何安全存储在初始化时传递给Ruby类的参数,如下所示......
myclass = MyClass.new(auth_token)
...因此,类中的其他方法可以访问它以执行它们的操作:
myclass.do_something
我传递的参数非常敏感,因此安全性应该是最高优先级。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以在存储之前加密该值,然后存储加密值。
然后,当您想要检索它时,您将对其进行解密,然后显示该值。
您可以使用AES-128 / AES-256使用ruby OpenSSL::Cipher
和Digest
库加密数据
Here is a post I made showing how to use the libraries to encrypt-decrypt whatever values you want.
请注意,您需要跟踪密钥和 初始化向量
答案 1 :(得分:0)
如果入侵者包含可以在您的过程中运行ruby代码的人,那么就无法做到这一点。
Ruby允许调用私有方法,读取实例变量等等。即使您加密了数据,也可以在ruby进程中运行代码的人可以修改加密方法,以便不执行任何操作或访问加密密钥