MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Rails:Speichern verschlüsselter Daten in der Datenbank

Ich habe attr_encrypted dazu gebracht, mit Mongo und Mongoid zu arbeiten. Es sind nur wenige Anpassungen erforderlich.

Stellen Sie sicher, dass alle verschlüsselten_ Felder, die automatisch von attr_encrypted erstellt werden, explizit im Modell erstellt werden. Wenn Sie beispielsweise Folgendes haben:

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

Sie müssen Folgendes haben:

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

Beachten Sie auch, dass Sie ihm sagen müssen, dass er die verschlüsselte Zeichenfolge kodieren soll, sonst wird sich Mongo lautstark beschweren.

Wenn Sie zuletzt einen Hash verschlüsseln, tun Sie dies:

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

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