Rails

2011-03-30 10 views
38

Şifrelemeyi şifreleyin Şifreleri çözmek için bir süre önce herhangi bir kitaplık eklemeden dizeleri çözme ve şifrelemeyi gördüm, ancak blog gönderisini bulamıyorum.Rails

Hiçbir şey eklemeden dizeleri şifreleyip şifresini çözmek istiyorum. Aynı tuşun kullanılması, raylardaki diğer her şey için, örneğin imzalı çerezlere sahiptir.

Herhangi bir fikrin var mı?

cevap

106

Bunu mu demek istediniz: ActiveSupport::MessageEncryptor. İşte Rails yeniden yoludur 4 uygulaması gizli:

crypt = ActiveSupport::MessageEncryptor.new(Rails.application.secrets.secret_key_base) 
encrypted_data = crypt.encrypt_and_sign('my confidental data') 

Ve şifrelenmiş veri ile deşifre edilebilir:

decrypted_back = crypt.decrypt_and_verify(encrypted_data) 

Daha önce 3 secret_token yapılandırma seçeneği kullanılarak ve Şifreleyici yöntemleri encryptdecrypt idi Raylar.

+6

bu oldukça pezevenkti. – Kristian

+4

Aradığım şey için harika bir çözüm, teşekkürler! Sadece bir kafa, ActiveSupport :: MessageEncryptor arayüzü Rails 4.0 beri değişti ve örnek modası geçmiş. Şifrelemek yerine encrypt_and_sign ve deşifre yerine decrypt_and_verify dosyasını çağırmalısınız. –

+0

Teşekkürler George, cevabı güncelledim ve yeni bir örnek oluşturdum. – gertas