5
一个例子是为什么Rails会话cookie无法完全解码Base64?一个Rails 2.3.8会话cookie的
BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2--67046ba78aa6d656ec7c64e73aac156f5e503627
因此我假定所述第二部分(--
之后)是校验和,并且如果一个Base64解码完成:
$ script/console
Loading development environment (Rails 2.3.8)
> Base64.decode64("BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2")
=> "\004\b{\a:\vfoobari\a:\017session_id\"%b394a4ad4852964c6455378e34b93f16"
> puts Base64.decode64("BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2")
{:
foobari:session_id"%b394a4ad4852964c6455378e34b93f16
据说foobar
应该有一个值为2,它不会显示...什么是session_id
如果它是基于一个cookie - 为什么它需要一个id
?
所以解码时,在之后删除'--'和十六进制字符串。所以它应该会很好,不是吗? – 2011-03-03 02:53:05
@动静能量是的,然后你必须用元帅反序列化它。我编辑了我的答案。 – pseidemann 2011-03-17 07:35:39