MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Rails :stockage des données cryptées dans la base de données

J'ai obtenu attr_encrypted en travaillant avec Mongo et Mongoid. Cela ne prend que quelques ajustements.

Assurez-vous que tous les champs cryptés_ qui sont automatiquement créés par attr_encrypted sont explicitement créés dans le modèle. Par exemple, si vous avez :

    attr_encrypted :email, :key => 'blah blah blah', :encode => true

vous devez avoir :

Champ
    field :email, :type => String
    field :encrypted_email, :type => String

Notez également que vous devez lui dire d'encoder la chaîne cryptée, sinon Mongo se plaindra bruyamment.

Enfin, si vous chiffrez un hachage, procédez comme suit :

Champ
    field :raw_auth_hash, :type => Hash
    field :encrypted_raw_auth_hash, :type => String

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