如何在安全初始化时存储传递给Ruby类的变量,以便其他方法可以访问它们?

时间:2015-08-14 03:15:59

标签: ruby-on-rails ruby

我需要知道如何安全存储在初始化时传递给Ruby类的参数,如下所示......

 myclass = MyClass.new(auth_token)

...因此,类中的其他方法可以访问它以执行它们的操作:

myclass.do_something

我传递的参数非常敏感,因此安全性应该是最高优先级。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以在存储之前加密该值,然后存储加密值。

然后,当您想要检索它时,您将对其进行解密,然后显示该值。

您可以使用AES-128 / AES-256使用ruby OpenSSL::CipherDigest库加密数据

Here is a post I made showing how to use the libraries to encrypt-decrypt whatever values you want.

  

请注意,您需要跟踪密钥和   初始化向量

答案 1 :(得分:0)

如果入侵者包含可以在您的过程中运行ruby代码的人,那么就无法做到这一点。

Ruby允许调用私有方法,读取实例变量等等。即使您加密了数据,也可以在ruby进程中运行代码的人可以修改加密方法,以便不执行任何操作或访问加密密钥