如何在Ruby on Rails中做到这一点 [英] How to do it in Ruby on rails

查看:76
本文介绍了如何在Ruby on Rails中做到这一点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是C#代码:

byte[] pb = System.Text.Encoding.UTF8.GetBytes(policy.ToString());

// Encode those UTF-8 bytes using Base64
string policyB = Convert.ToBase64String(pb);

// Sign the policy with your Secret Key using HMAC SHA-1.
System.Security.Cryptography.HMACSHA1 hmac = new System.Security.Cryptography.HMACSHA1();
hmac.Key = System.Text.Encoding.UTF8.GetBytes(secretKey);

byte[] signb = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(policyB));

string signature = Convert.ToBase64String(signb);

如何在Ruby on Rails中做同样的事情?更具体地说,我需要了解从字符串获取字节的函数,然后对base64进行编码并计算hmac哈希.

How to do the same in Ruby on rails? More specifically I need to know functions to get bytes from string and base64 encode them and calculate hmac hash.

推荐答案

不确定它是否完全一样,但是它对我有用:

Not sure if it exactly the same, but it works for me:

@policy = ActiveSupport::Base64.encode64s(@policy)

# Sign policy with secret key
digest = OpenSSL::Digest::Digest.new('sha1')
@signature = ActiveSupport::Base64.encode64s(OpenSSL::HMAC.digest(digest, secretKey, @policy))

这篇关于如何在Ruby on Rails中做到这一点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆