sign = OpenSSL::Digest::SHA256.hexdigest("#{access_token}#{access_sign}#{noncestr}")
JSON.parse Base64.decode64(resp)
signature = Base64.encode64(OpenSSL::HMAC.digest('sha1', token['ACCESS_SIGN'], "#{timestamp}#{noncestr}")).strip
token = Digest::MD5.hexdigest(Settings.qichacha_key.to_s + timespan + Settings.qichacha_secret_key).upcase
---------
# new 对象
@verifier = ActiveSupport::MessageVerifier.new('123456')
# => #<ActiveSupport::MessageVerifier:0x007fe522132ba8 @secret="123456", @digest="SHA1", @serializer=Marshal>
# new 对象并指定serializer 为 YAML
@verifier = ActiveSupport::MessageVerifier.new('123456', serializer: YAML)
# => #<ActiveSupport::MessageVerifier:0x007fe522103448 @secret="123456", @digest="SHA1", @serializer=Psych>
要加密的内容可为任何形式的对象,MessageVerifier对象会以指定的对象序列化方法进行序列化。 示例中我们加密的对象是一个包含用户id及过期时间的数组:[user_id, time]
# 加密
cookies[:remember_me] = @verifier.generate([@user.id, 2.weeks.from_now])
# 解密
id, time = @verifier.verify(cookies[:remember_me])
# 应用:判断是否过期并查找用户
if time < Time.now
@current_user = User.find(id)
end
分享到:
相关推荐
有几种常见的加密方式和实现.
摩斯密码以及十种常用加密方法.doc
java常用加密方式.pdf
深入浅出密码学——常用加密技术原理与应用Christof Paar,Jan Pelzl 本书拥有的诸多特征使得它成为密码学从业者和学生独一无二的资源—本书介绍了绝大多数实际应用中使用的加密算法,并重点突出了它们的实用性。...
包含了市面上所有常用的加密方式.zip,包含了市面上所有常用的加密方式
常用软件加密宝典,精典啊,看看吧.
加密算法
《深入浅出密码学——常用加密技术原理与应用》教程书籍,学习资源,供学术交流使用。
常用加密狗复制工具- 常用加密狗复制工具- 常用加密狗复制工具-
以前写的一些工具,des加解密,rsa,base64,xor等,有些可能有bug
摩斯密码以与十种常用加密方法.doc
ASP常用加密解密方法,包括ASP ,html ,js ,vbs 等编码与反编码 还有简易ASP 加密解密小程序
深入浅出密码学——常用加密技术原理与应用Cryptanalysis in simple terms -- principle and application of common encryption technology
C# 常用加密算法 包括MD5 base64 hax等
包含了从简到难的各种前端加密所需的库文件,base64、md5、sha1、sha256、rsa等
常用加密算法
c#常用加密算法 pdf 对C# 中常用加解密算法进行了实现 直接可以用
常用加密解密方法:DES,RSA,TripleDES
本文主要介绍了Java中常用加密/解密方法。具有很好的参考价值,下面跟着小编一起来看下吧
常用的包含MD5等的12个加密和冒泡排序工具类以及log4j配置文件