ruby-on-rails – 为什么Rails会话cookie不能完全解码为Base64?
发布时间:2020-12-17 03:34:31 所属栏目:百科 来源:网络整理
导读:Rails 2.3.8会话cookie的一个例子是 BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2--67046ba78aa6d656ec7c64e73aac156f5e503627 所以我假设第二部分(在 – 之后)是校验和,如果完成了Base64解码: $script/consoleLoadi
Rails 2.3.8会话cookie的一个例子是
BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2--67046ba78aa6d656ec7c64e73aac156f5e503627 所以我假设第二部分(在 – 之后)是校验和,如果完成了Base64解码: $script/console Loading development environment (Rails 2.3.8) > Base64.decode64("BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2") => " 04b{a:vfoobaria: 17session_id"%b394a4ad4852964c6455378e34b93f16" > puts Base64.decode64("BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2") {: foobari:session_id"%b394a4ad4852964c6455378e34b93f16 据说foobar应该有2的值,它不会显示…如果它是基于cookie的session_id是什么 – 为什么它需要一个id? 解决方法
– 之后的代码是SHA,使用应用程序中定义的会话分密进行哈希处理.
和here about the ID. 编辑: Marshal.load(Base64.decode64("BAh7BzoLZm9vYmFyaQc6D3Nlc3Npb25faWQiJWIzOTRhNGFkNDg1Mjk2NGM2NDU1Mzc4ZTM0YjkzZjE2--67046ba78aa6d656ec7c64e73aac156f5e503627".split('--').first)) => {:foobar=>2,:session_id=>"b394a4ad4852964c6455378e34b93f16"} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |