Szyfrowanie danych w cookie

Witam
Potrzebuje zaszyfrowac pewną informację w cookie, nie jest to jakies super tajne ale wolałbym żeby nikt tego nie modyfikował. Co sądzicie o użyciu w tym przypadku blowfish i base64 ?

tu jest gem jakby ktoś potrzebował http://crypt.rubyforge.org/index.html

Mówimy o railsach? Bo railsy defaultowo Ci szyfrują wszystko, co wpisują do ciacha (jeśli dobrze pamiętam).

hmm, wrzuciłem coś w ten sposób (zmienna cookie to tablica)

cookies["jakistamindex"] = {:value => cookie.to_json, :expires => @costam.finish_at}

i widzę we wtyczce firefoxowej ze to nie jest zaszyfrowane

Rails pewnie jakaś pomocniczą metodą dodaje i wyjmuje z cookies. Która w locie szyfruje. Ale tylko zgaduję

w środowisku development też powinno domyślnie szyfrować czy tylko w production ?

To nie tak, że szyfruje, tylko dodaje swój hash. Przy odczycie dzieje się jakaś magia i jeżeli były zmienione dane to je odrzuca. to w configu jest protect_from_forgery chyba.

Odrobiłem pracę domową. I masz rację, Artur: szyfrowany jest tylko ID sesji (od kiedy sesja jest trzymana w ciachu). Reszta danych w ciachu jest (z tego co właśnie wyczytałem) na czysto.
http://www.neeraj.name/blog/articles/834-how-cookie-stores-session-data-in-rails

No i owszem, zostaje Ci jakieś szyfrowanie niesymetrycznym kluczem.

Jeśli wymaganiem jest by użytkownik nie mógł modyfikować tych danych to sesja może być. Danych użytkownik nie zmieni, bo po to jest właśnie ten podpis. Jeszcze mi przyszło do głowy, że sesje railsowe dają dosyć łatwą możliwość “cofania się w czasie”, tj. przywrócenie dowolnej wartości sesji z przeszłości (jeśli się gdzieś zapisało dane). To też może mieć czasem znaczenie (np. zapisujemy w sesji aktualną liczbę punktów gracza, które ktoś po ich stracie sobie je przywraca). Można także nie pakować takich danych do sesji tylko do memcached/bazy a w sesji tylko pamiętać id usera.

Tu jest gotowe rozwiazanie ekipy z Phusion: http://github.com/FooBarWidget/encrypted_cookie_store

dzięki g0nzo ale to Encrypted Cookie Store jest do trzymania sesji w zaszyfrowanym cookie. Sesje użytkowników chce trzymac normalnie w bazie, natomiast chodzi mi o to zeby zapisać w cookie coś nie związanego z sesją użytkownika, pewne dane dla niezalogowanej osoby