MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Rails:armazenando dados criptografados em banco de dados


Eu tenho attr_encrypted trabalhando com Mongo e Mongoid. Leva apenas alguns ajustes.

Certifique-se de que todos os campos criptografados_ criados automaticamente por attr_encrypted sejam criados explicitamente no modelo. Por exemplo, se você tiver:
    attr_encrypted :email, :key => 'blah blah blah', :encode => true

você precisa ter:
    field :email, :type => String
    field :encrypted_email, :type => String

Observe também que você precisa dizer a ele para codificar a string criptografada, caso contrário, o Mongo reclamará em voz alta.

Por fim, se você estiver criptografando um hash, faça o seguinte:
    field :raw_auth_hash, :type => Hash
    field :encrypted_raw_auth_hash, :type => String

    attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true