मुझे Mongo और Mongoid के साथ काम करते हुए attr_encrypted मिल गया है। इसमें केवल कुछ बदलाव होते हैं।
सुनिश्चित करें कि attr_encrypted द्वारा स्वचालित रूप से बनाए गए सभी एन्क्रिप्टेड_ फ़ील्ड मॉडल में स्पष्ट रूप से बनाए गए हैं। उदाहरण के लिए, यदि आपके पास:
attr_encrypted :email, :key => 'blah blah blah', :encode => true
आपके पास होना चाहिए:
field :email, :type => String
field :encrypted_email, :type => String
यह भी ध्यान दें कि आपको इसे एन्क्रिप्टेड स्ट्रिंग को एन्कोड करने के लिए बताना होगा अन्यथा मोंगो जोर से शिकायत करेगा।
अंत में, यदि आप हैश को एन्क्रिप्ट कर रहे हैं, तो यह करें:
field :raw_auth_hash, :type => Hash
field :encrypted_raw_auth_hash, :type => String
attr_encrypted :raw_auth_hash, :key => 'blah', :marshal => true, :encode => true