MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Rails:memorizzazione dei dati crittografati nel database

Ho ottenuto attr_encrypted lavorando con Mongo e Mongoid. Bastano poche modifiche.

Assicurati che tutti i campi cifrati_ che vengono creati automaticamente da attr_encrypted siano creati in modo esplicito nel modello. Ad esempio, se hai:

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

devi avere:

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

Nota anche che devi dirgli di codificare la stringa crittografata altrimenti Mongo si lamenterà ad alta voce.

Infine, se stai crittografando un hash, procedi come segue:

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

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